Global değişkenleri kapatmak

Kategori: Güvenlik, Php
Tarih: 27th Mayıs 2011


Php de global değişkenler açık ise; Post yada Get methoduyla gelen verileri hiç bir tanımlama yapmadan direk tanımlanmış bir değişkenmiş gibi kullanabilirsiniz.

Mesela a.php dosyasına get ile gönderdiğim veriyi hiç bir tanımlama yapmadan direk okuyabilirim:

 


<?php
echo $isim;
?>

Bu her ne kadar ilk bakışta bir kolaylık gibi görünsede sistem için bir açık demektir. Bir kullanıcı giriş kontrolü yazdığımızı düşünelim  kontrol değişkenini tahmin edebilen birisi bir kaç denemede sisteminize girebilecektir. Yani sayfayı “a.php?giris=1” olarak çağıran bir kullanıcı hiç kontrole uğramadan üye işlemlerini yapabilecektir.

 

<?php
if($kullaniciAd=='kullanici' && $sifre=='sifre')
    $giris=1;

if(isset($giris))
    echo 'Üye';//Üye ise bu bloğa gelir
else
    echo 'Üye değil';//Üye değil ise bu bloğa gelir
?>

Örnekler çoğaltılabilir. Bunu engellemek için global değişkenleri kapatmalıyız. php.ini dosyanızın “register_globals” ile başlayan satırını bulun ve o satırı “register_globals = Off” şeklinde değiştirip bilgisayarı yeniden başlatın.




2 Responses to “Global değişkenleri kapatmak”

  1. msn indir dedi ki:

    bu değişkenleri kapatmanın faydaları yani Too many connections hatası aldıgımızda sadece bağlantıyı kapatmak yeriyormu yoksa sql için acılan değişkenleride kapatmak gerekiyormu

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Comment

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Optimization WordPress Plugins & Solutions by W3 EDGE