2. register_globals Direktifi

Tanım

php.ini ayar dosyası içerisinde bulunan register_globals direktifi, POST ve GET metodu ile gönderilen değerleri, oturum, çerezler ve ortam değerlerini kendi isimleriyle tanımlanmış birer değişken olarak kullanılmasını sağlar.

Örneğin, test.php?deneme=1 olarak kullanılan bir betikte GET metodu ile gönderdiğimiz deneme isimli değere erişmek için betik içerisinde $deneme değişkenini kullanabilmek gibi.

Uyarı: register_globals direktifi php.ini ayar dosyası içerisinde On olarak ayarlanmış ise yukarıdaki durum geçerlidir. Eğer Off olarak ayarlanmış ise bu değerlere, kendi isimleriyle tanımlanmış birer değişken olarak erişilemez.

PHP 4.1.0 Sürümünden Sonraki Farklılıklar

Betiklerde oluşan güvenlik açıkları nedeniyle PHP 4.1.0 sürümü ve sonraki sürümlere ait paketler içerisinde bu direktif artık Off olarak ayarlanmış şekilde gelmektedir. Tanımda anlatılan değerlere erişmek için süper-global diziler ismi verilen dizilerin kullanılması gerekmektedir.

Örneğin, test.php?deneme=1 olarak kullanılan bir betikte deneme isimli değere erişmek için $deneme değişkeni yerine $_GET['deneme'] değişkeninin kullanılması gerekmektedir.

Bunu değere eski sürümlerdeki gibi $deneme değişleni ile erişebilmek için, php.ini ayar dosyası içerisinde bulunan register_globals direktifini bulup, bu ayarı On olarak değiştirilmesi gerekmektedir.

Terimler

direktifdirective
oturumsession
çerezcookie
ortamenvironment
değişkenvariable
betikscript
diziarray

« Önceki Ana Sayfa Sonraki »
Süper-Global Diziler Yukarı Kısa Çözümler