Joomla Dersleri

Modüller, Bileşenler, Pluginler, Temalar, Anlatımlar

PHP sorgusu için yayınlar tarihe göre sıralanmış olarak gösteriliyor. Alaka düzeyine göre sırala Tüm yayınları göster
PHP sorgusu için yayınlar tarihe göre sıralanmış olarak gösteriliyor. Alaka düzeyine göre sırala Tüm yayınları göster

Güncel Joomla Açıkları


Arkadaşlar Joomla'da kullandığınız modül ve bileşenleri yüklemeden önce iyice araştırın. Aşağıdaki listede de gördüğünüz üzere birçok modül ve bileşenin açıkları bulunmakta ve kötü niyetli kişilere açık arka kapılar (backdoor) bırakmaktadır.
Aşağıdaki listede bulunan bileşen veya modüllerden kullandığınız varsa hemen yerine bir alternatif bulup o modül veya bileşeni silmenizi şiddetle tavsiye ederim.
Açıkları olan modül ve bileşenler:

  • 2008-03-25 Joomla Component alphacontent <= 2.5.8 (id) SQL Injection Vulnerability
  • 2008-03-23 Joomla Component Cinema 1.0 Remote SQL Injection Vulnerability
  • 2008-03-23 Joomla Component d3000 1.0.0 Remote SQL Injection Vulnerability
  • 2008-03-23 Joomla Component rekry 1.0.0 (op_id) SQL Injection Vulnerability
  • 2008-03-22 Joomla Components custompages 1.1 Remote File Inclusion Vulnerability
  • 2008-03-19 Joomla Component Restaurante 1.0 (id) SQL Injection Vulnerability
  • 2008-03-19 Joomla Component Alberghi <= 2.1.3 (id) SQL Injection Vulnerability
  • 2008-03-19 Joomla Component joovideo 1.2.2 (id) SQL Injection Vulnerability
  • 2008-03-18 Joomla Component Acajoom (com_acajoom) SQL Injection Vulnerability
  • 2008-03-11 Joomla Component ProductShowcase <= 1.5 SQL Injection Vulnerability
  • 2008-03-08 Joomla Component Candle 1.0 (cID) SQL Injection Vulnerability
  • 2008-02-23 Joomla Component simple shop 2.0 SQL Injection Vulnerability
  • 2008-02-20 Joomla Component com_hwdvideoshare SQL Injection Vulnerability
  • 2008-02-18 Joomla Component com_clasifier (cat_id) SQL Injection Vulnerability
  • 2008-02-18 Joomla Component com_pccookbook (user_id) SQL Injection Vulnerability
  • 2008-02-18 Joomla Component astatsPRO 1.0 refer.php SQL Injection Vulnerability
  • 2008-02-16 Joomla Component com_galeria Remote SQL Injection Vulnerability
  • 2008-02-16 Joomla Component jooget <= 2.6.8 Remote SQL Injection Vulnerability
  • 2008-02-14 Joomla Component mediaslide (albumnum) Blind SQL Injection Exploit
  • 2008-02-14 Joomla Component Quiz <= 0.81 (tid) SQL Injection Vulnerability
  • 2008-02-14 Joomla Component MCQuiz 0.9 Final (tid) SQL Injection Vulnerability
  • 2008-02-14 Joomla Component paxxgallery 0.2 (iid) SQL Injection Vulnerability
  • 2008-02-13 Joomla Component xfaq 1.2 (aid) Remote SQL Injection Vulnerability
  • 2008-02-12 Joomla Component pcchess <= 0.8 Remote SQL Injection Vulnerability
  • 2008-02-12 Joomla Component rapidrecipe <= 1.6.5 SQL Injection Vulnerability
  • 2008-02-08 Joomla Component NeoGallery 1.1 SQL Injection Vulnerability
  • 2008-02-07 Joomla Component com_noticias 1.0 SQL Injection Vulnerability
  • 2008-02-07 Joomla Component com_doc Remote SQL Injection Vulnerability
  • 2008-02-06 Joomla Component Ynews 1.0.0 (id) Remote SQL Injection Vulnerability
  • 2008-02-03 Joomla Component Marketplace 1.1.1 SQL Injection Vulnerability
  • 2008-02-03 Joomla Component mosDirectory 2.3.2 (catid) SQL Injection Vulnerability
  • 2008-02-01 Joomla Component NeoReferences 1.3.1 (catid) SQL Injection Vuln
  • 2008-01-30 Joomla Component ChronoForms 2.3.5 RFI Vulnerabilities
  • 2007-12-31 Joomla Component PU Arcade <= 2.1.3 SQL Injection Vulnerability

Joomla 1.5 Bileşen ve Modüllerde Türkçe Karakter Sorunu ve Çözümü

Bu anlatımımızda Joomla 1.5'e kurduğumuz Joomla 1.0 bileşen ve modüllerinde yaşanan Türkçe Karakter sorunundan bahsedeceğiz. Çoğumuzun bildiği üzere Joomla 1.0 modül ve bileşenlerini Joomla 1.5'te kullanabiliyoruz. Nasıl olduğunu merak ediyorsanız bu konuya gözatmanızı öneririm. Joomla 1.5 UTF-8 dil kodlamasını kullanmaktadır. Bu yüzden Joomla'nın eski versiyonlarıyla uyumlu olan modül ve bileşenlerde Türkçe karakter bozuk çıkabilir ya da hiç çıkmayabilir.

Peki bu sorunu nasıl çözerim?
  • Öncelikle Türkçe karakter sorunu veren modül veya bileşenin Türkçe dil dosyasını (genelde turkish.php olur.) bilgisayarınıza indirin.
  • Daha sonra dosyayı not defteri ya da notepad ile açıyoruz ve hiçbir değişiklik yapmadan farklı kaydet (save as) diyoruz.
  • Kodlama bölümünden UTF-8 seçip kaydet (save) diyoruz.
  • Dosyamızı anlattığım şekilde kaydettikten sonra tekrar aynı yerine yüklüyoruz ve artık sorun ortadan kalkmış oluyor.

Joomla Anket Sayfasını Değiştirmek


Joomla sitelerin çoğunda anket bileşeni sayfası aynıdır. Çoğumuz bu anket sayfasını değiştirebileceğimizi bilmeyiz. Neden her siteyle aynı olsun sizin anketiniz? İşte şimdi size anket sonuçları sayfasının nasıl değiştirildiğini anlatacağım.

Dikkat: Bu anlatım Joomla 1.5 sürümünü içerir.

components\com_poll\views\poll\tmpl içerisinde bulunan default_graph.php dosyasını düzenlemek üzere açalım.

/components/com_poll/assets/poll.png adresi ile dosyada belirtilmiş resmin başlık yanında yer almasını sağlayan bu resimden başlıyorum ve bu adresleme işlemini kendi istediğim resme yönlendirmek üzere değiştiriyorum. (Resmin boyutlarının poll.png ile aynı ya da yaklaşık boyutlarda olmasına dikkat ederek...)

Yapacağım ikinci değişiklik php dosyasında belirtilen tablo sütun sayısını değiştirmek olacak. Yazı veya başka birşey eklemek istiyorum ve

<td width="100%" colspan="4">
bölümünde 4 değerini tablomda kaç sütunumun olmasını istiyorsam ona göre ayarlıyorum. Oy sayısı, yüzde değeri ve yüzde değerini ifade eden grafik çizgisi default sütunları işgal eder. Ben bunlara ek olarak yeni bir sütun daha ekleyeceğim.

Herbir seçenek ismini kalın veya italic vs göstermek istiyorum:

 echo $vote->text; ?>


kodunu

<strong>strong>
kodları arasına yerleştirirseniz kalın seçenek yazısı belirlemiş olursunuz. diğer yazı tipleri için de küçük bazı html kodları gerekiyor.

Sonrasında sütunlarımın kodları geliyor. Yeni bir sütun eklemek istiyordum, bunu şu şekilde yapıyorum:

<tr class="sectiontableentryodd; ?>">

<td align="right" width="2">
<strong>Oy:strong>
td>

<td align="right" width="10">
echo $vote->hits; ?>&nbsp;
td>


bu kodlar arasına şuanda kalın karakterde görünen kodu yerleştirdim, dolayısıyla daha sonrasında gelen oy sayısının neyi ifade ettiğini açıkladım. Bu bölümde herbir bölümü sütunları işaret ediyor. Bunların sıralarını değiştirerek grafik çizgisini başa, yüzdeyi e sağa yerleştirmek gibi sıra değişimleri yapabilirsiniz.

Herhangi bir sütunu kaldırmak istiyorsanız bir kod işinizi görecektir. Mesela benim gibi yüzde olarak görüntülemeyi engellemek istiyorsanız (95% şeklinde) yapmanız gereken:

kodu içine yerleştirmelisiniz yani şu şekilde:

<td width="30" >
echo $vote->percent; ?>%td>


Bu bölümde sütunların birbirlerine daha yakın ya da daha uzak olmalarını dilerseniz de herbirinin width değerini arttırıp azaltabilirsiniz.

Son olarak bahsedebileceğim şey de sonuç sayfasının alt kısmında ankete katılan sayısı, ilk ve son oylama tarihleri bölümünde yazıların ingilizce oluşudur. Yine aynı dosya içinde:

 echo JText::_( 'First Vote' ); ?>
kodu içinde kalın ve italik yazıyı dilediğinizce değiştirebilirsiniz.


DİKKAT!: Eğer kod bilgisine sahip değilseniz dersi yerel yani localhost üzerinde denemeniz tavsiye edilir.

CMS ( Content Managament System ) Nedir?



CMS (Content-Managament-System // İçerik Yönetim Sistemleri) anlamına gelir. CMS aslında belli bir ürünün yada programın adı değildir.Sadece bu tarz web uygulamalarına verilen genel isimdir. CMS'leri sizler Portal, Sistem gibi ifadelerle de tanıyor olmalısınız.

Peki Cms Neleri içerir? Cmsler belli bir web programlama diliyle yapılmış web programlarıdır aslında. Asp, Php gibi web programlama dilleriyle oluşturulmuş birçok CMS vardır. Cms'ler genel olarak üyelik sistemi, makale ekleme, haber yazma, anket, forum gibi bazı bileşenleri standart olarak sizlere verirler.Zaten Cms'nin oluşması bu bileşenlerin aynı cms içinde entegre çalıştırılabilmesi ve İnternet üzerinde uygulamaya geçebilmesidir.

Cms'ler üyelik sistemi,forum,haber ve makale bileşenleri içerir dedik.Bu bileşenlerin kontrolü mevcut cms sisteminde size sunulmaktadır.Tabi tüm bu alanlarında bir kontrolü olmak şartıyla.Cmsler kontrolden kastettiğimiz site yönetim işini admin sayfalarıyla yaparlar.Admin sitenin sahibi yada yetkilendirmeye göre sahipleridir.Siz kurulumunuzu yaptıktan sonra admin paneline girerek sitenize üye ekleyip çıkarabilir,forum yazabilir,makale gönderebilir ve bunun gibi sistemin elverdiği her şeyi yaptırabilirsiniz.

Şimdi yukarıda cmslerin bir web programlama diliyle yapıldığını söyledik.Peki ama cmsler üye bilgilerini,forum mesajlarını ve bunu gibi şeyleri nerede saklar?

Eğer asp yada php dilleriyle ilginiz varsa bu sorunun cevabını bileceksiniz.Eğer bu dillerle ilginiz yoksa biraz düşünmeniz gerekli.Bir Cms portalı kullanıldığı dile göre verilerini veritabanında tutar.Eğer asp diliyle yapılmış bir cms kullanıyorsanız verileriniz genellikle MS Access tarafından tutulur ve kaydedilir.Şayet bir PHP CMS sistemi kullanıyorsanız o verilerde Mysql, PostreSQL gibi programlarda kaydedilir. Eğer bu program ve uygulamalar olmasaydı Cms'ler olmazdı. Çünkü zaten cms sistemleri siteniz üzerinde çok büyük bir veri girdisine sahiptir.Bu verileri bir arada tutmak,bu verilerin içinden arama yapmak ve bu yapılan aramaları listelemek,değişiklik ve düzenlemeler yapmak hep bu veritabanları sayesinde olmaktadır.

CMS Avantaj ve Dezavantajları
Gelgelelim cmsnin bazı avantaj ve dezavantajlarına. Cmsler her yönden birçok avantaja sahiptir.Bunlar
  • Hızlı ve kolay veri girdisi
  • Birçok bileşenin bir arada olması
  • Tasarım ve içerik değiştirebilme özelliği
  • Kolay kurulum
  • Özel üye bölümleri
  • Forum, Anket, Özel Mesaj gibi kullanıcı için önemli bileşenlerin bir arada olabilmesi
  • Kaynak kodlarının açık olması (bir kısmı hariç)
  • Güncelleme ve yenilenmesi
  • Gelişmiş Admin Paneli

Ve daha sayamayacağımız bir çok özellik cmsler için bir avantajdır. Sözgelimi seri ve çok büyük sayıda içerik ve veri gireceğiniz bir siteniz olacaksa bir cms sistemi kullanabilirsiniz. Yada üyelerinizin ve ziyaretçilerinizin sitenizle daha fazla etkileşimli olmasını istiyorsanız da bir cms kullanabilirsiniz.

Ayrıca birçok cms sistemi Açık Kaynak kodludur ve ücretsizdir.Bunun birçok yararı ve zararı olabilir fakat cmslerin açık kaynak olması sürekli gelişime ve yeniliğe açık oldukları anlamına gelir.(Tabi cms sistemlerininde ücretli sürümleri vardır)

Peki hiç mi dezavantajı yok bu cmslerin?Ne yazık ki var.Cmslerde ön önemli unsurlardan birisi güvenliktir.Cmsler genellikle açık kaynak kodlu olduğu için kodlara sahip olan ve geliştiren bir başka kişi yada kişiler kolaylıkla sisteminize sızabilir.(Tabi siz önlem almasanız) Bunun dışında Cmslerin alışık olmayan kişilere karşı tavrı kötüdür.Birçok bileşenin bir arada olması bunların site içinde görünüm ve yerlerinin ayarlanması bazen insanı çıldırtabilir.Ayrıca cmsler çok komplike bir yapıya sahip oldukları için ilk başlarda hem sizin hemde sitede kullanıcaların alışması zor olabilir.Örneğin yeni kurduğunuz ve hakkında fazla bir bilgiye sahip olmadığınız bir cms sisteminin admin panelinde yanlışlıkla bir şeyi silebilir yada kaldırabilirsiniz.

BAZI CMS SİSTEMLERİ
Yukarda bahsettiğimiz gibi cms sistemleri belli dillerle yazılır.Şu anda en çok kullanılan cms sistemlerinin dilleri PHP'dir.bunun nedeni PHP nin çok iyi ve sağlam bir dil olmasının yanı sıra güçlü veritabanı desteği, nesne desteği ve kendine has yapısı söylenebilir.Eğer bir arama motorunda cms portal sistem diyerek arama yapar ve sonuçlara bakarsanız genellikle php diliyle yazılmış cms sistemlerine ulaşırsınız.Webde en çok kullanılan cms sistemlerinin bazıları şunlardır.