Elma Doktoru

iPhone, iPod iPad Teknik Servisi

Çar23052012

Son Güncelleme18:39:01

Geri Web Joomla İpuçları Tablo Önekinizi Değiştirin

Tablo Önekinizi Değiştirin

Kullanıcı Değerlendirmesi: / 0
ZayıfMükemmel 

Joomla için güvenlik önelmlerinden bahsettiğimiz konularımız içinde farklı farklı olarak joomla sitenizi nasıl olurda daha fazla güvenlikli hale getirebileceğinizi bir çok kez anlatmıştık. örneğin htaccess dosyası ile güvenlik konusu, spam konusunda iletişim bileşenine güvenlik kodu uygulaması gibi konuların yanı sıra kullanıcıların ihmali ile adeta zorla riske atılan joomla hakkında bilgilendirme makalesi yayınlamıştık. ayrıca bir çok güvenlik makalesini de sizlerle paylaşmıştık şimdi ise bazı konular içinde geçen ancak değişik bir formülle veritabanı güvenliğini ele alacağız.

Bilindiği gibi joomlanın standart veritabanı tablo öneki "jos_" şeklinde başlar gerek exploit gerekse farklı açıklardan yararlanmak amacı ile sitenizi yoklayan lamer ve hacker'lar öncelikle sql injection denilen metoda sıklıkla başvururlar. Ellerinde de standart olarak joomlanın veritabanı öneki olduğundan bu olayda bu zaafiyet sayılabilecek durumdan yararlanabilirler.

Eğer joomlanızın kurulum aşamasında veritabanı tablo öneki varsayılanı olan "jos_" değiştirmemişseniz öyleyse size bir kaç adımda bu değişikliği şu andaki aktif siteniz üzerinde nasıl yapacağınızı anlatmaya çalışacağım. Tablo önekini değiştirme konusunu daha önce vermiştim ancak bu küçük bir scriptle daha hızlı bir şekilde yapılıyor. Konumuzun orjinali joomla security ile ilgili yazıdan alınmdığını da ayrıca vurgulamakta yarar var.

Veritabanı tablolarınızı hızla ve güvenle aşağıda anlatacağım şekilde yeniden düzenleyebilirsiniz.

Boş bir txt dosyası açarak aşağıdaki kodları bu txt dosyasının içine yapıştırarak farklı kaydet seçeneğinden örnek olarak "rename.php" olarak adlandırın. Ayrıca configuration.php dosyası içinde de "jos_" ibaresini bulup yeni verdiğiniz önekin adını yazmayı unutmayın.

 

<?php
$new_prefix = 'new_';
require_once 'configuration.php';
$config = new JConfig;
$con = mysql_connect($config->host, $config->user, $config->password);
if(!is_resource($con)) die('Error connecting to db');
$test = mysql_select_db($config->db, $con);
if($test===false) die('Error connecting to db');
$prefix = $config->dbprefix;
$sql = "show tables where `Tables_in_{$config->db}` like '{$prefix}%'";
$res = mysql_query($sql);
while($row = mysql_fetch_array($res))
{
$old = $row[0];
$new = $new_prefix . substr($old, 4);
$temp = mysql_query("RENAME TABLE `$old` TO `$new`");
if($temp === false) die(mysql_error());
mysql_free_result($temp);
}
mysql_free_result($res);
mysql_close($con);
echo "OK";

 

Yukarıdaki kodlar içinde yer alan "$new_prefix = 'new_';" kısmını yeniden isimlendirmek istediğiniz tablo öneki ismi ile değiştirin (örneğin $new_prefix = 'dnm_';) Daha sonra rename.php olarak kaydedilen bu dosyayı joomlanın configuration.php dosyasının olduğu yere ftp den bağlanarak gönderin.

Artık veritabanımızda yer alan tablo öneklerinin isim değişikliği hazır tek yapmamızgereken tarayıcı adres satırına "örneğin: www.mmcn.org/rename.php" yazmak ve "enter"lamak. Çok kısa bir sürede "OK" şeklinde bir yazıyı gördüğünüzde veritabanı tablolarınızın öneki yukarıda yeniden belirlediğiniz gibi örneğin: "dnm_" olduğunu göreceksiniz.

Not: veritabanı yedeğinizi ve configuration.php dosyanızın yedeğini mutlaka alın. Sunucu bazlı veya diğer sorunlarda geri dönüş imkanınızın olması yaşanacak problemlerin önüne geçecektir.

Yorumlar  

 
#6 Mehmet YAZICI 05-02-2011 12:19
Dediğiniz gibi internette 1.0 - 1.5 geçişi hakkında çok fazla kaynak var. Dikkat etmek ve ne yaptığını bilmek sureti ile aslında o kadar zor değildir. Çok fazla bileşen ve modülünüz yoksa taşımak daha da kolay olacaktır ama biraz emek harcamak gerekiyor çünkü taşıma yapacak bileşen bileşenler modüller ve pluginler özellikle de temayı taşıma (uygunlaştırma) yapmadığından biraz işiniz var tabi...
Alıntı
 
 
#5 hacamat 05-02-2011 12:11
benim ilk olarak 1.0'dan 1.5'a geçmem gerekiyor. internetten çok araştırdım bir sürü anlatım var ama yorumlara baktıktan sonra herkesin hata yaptığını ya da geçişin tam anlamıyla olmadığını gördüm.

şu an için 1.0'dan 1.5'a göç için güzel bir kaynak aramaktayım.
Alıntı
 
 
#4 Mehmet YAZICI 05-02-2011 11:50
Evet 1.5 için geçerli, henüz 1.5 sürümünden 1.6 sürümüne geçiş için erken çünkü bu geçişi sağlayacak uygulama halen tam isteneni veremiyor ama eğer denemek isterseniz 1.5 ten 1.6 ya geçiş anlatımları mevcut zaten kullanımı çok basit bir bileşen. Bu konudan başlarsanız daha iyi olur http://www.mmcn.org/joomla-cms/joomla-15-joomla-16-migration-goc-yapmalimiyim.html
Alıntı
 
 
#3 hacamat 05-02-2011 11:44
sanırım bu kodlar 1.5 versiyonu için yazılmış. benim sitem hala 1.0 versiyonunda. bundan dolayı tekrardan çalışmadı.
sitenizde var mı bilmiyorum göremedim yani. acaba 1.0 dan 1.5 hatta 1.6 ya geçişi detaylı anlatabilirseni z sevinirim.

kolay gelsin teşekkürler.
Alıntı
 
 
#2 Mehmet YAZICI 28-01-2011 01:42
Temada değişikliğe gittiğimden kodlarda da sapma olmuş şu an düzenledim bir daha kontrol edip deneyin
Alıntı
 
 
#1 hacamat 28-01-2011 01:14
$config = new JConfig;

satırında hata alıyorum. sebebi ne olabilir acaba..
Alıntı
 

Yorum ekle


Güvenlik kodu
Yenile

Joomla 1.5 Kolay Kullanım Rehberi

Joomla 1.5 Rehberi

Joomla 1.5'i öğrenmek hiç bu kadar kolay olmamıştı

Hiç bir kodlama bilgisine sahip olmaksızın kendi kişisel yahut kurumsal websitenizi yapmak için size lazım olan Joomla! ve Joomla 1.5 Rehberi