PHP Süper Küresel Değişkenler ve Register_Globals
PHP, süper küresel olarak adlandırılan özel bir değişkene sahiptir. Bu değişkenlerin özel olmasının nedeni, herhangi bir PHP programında, programcı bunları programında oluşturmadan veya tanımlamaksızın otomatik olarak kullanılabilir olmalarıdır. Bunları "yerleşik" değişkenler olarak düşünebilirsiniz.

Bu değişkenlere erişme şekliniz, register_globals öğesinin sunucunuzda açık veya kapalı olmasına bağlı olarak değişir. PHP sürüm 4.2'den önce, register_globals varsayılan olarak açıktı. Ancak güvenlik nedenleriyle; bu ayar artık varsayılan olarak kapalıdır (sürüm 4.2+). Elbette, varsayılan ayarı geçersiz kılmaya ve register_globals özelliğini açıp açmayacağınıza karar vermek sunucunuzu çalıştıran kişilere bağlıdır. Kendi sunucunuzu test etmenin en kolay yolu phpinfo () kullanmaktır. Muhtemelen web sitenizin yönetim alanında bu web sayfasına bir bağlantınız olacaktır. Bu web sayfasında, bu bilgileri içeren Yapılandırma PHP Çekirdeği bölümünü bulacaksınız.

Yukarıda belirtildiği gibi, süper küresellere sunucunuzun ayarına bağlı olarak farklı şekilde erişeceksiniz. Yeni sunucu kurulumu için süper küresellere yeni isimler verildi. Sunucunuzda hala eski ayar varsa, yine de yeni adları kullanmaya başlamak daha iyi olur. Bu yeni adları kullanırsanız, programlarınızın her iki sunucu yapılandırmasında da çalışacağından emin olabilirsiniz. Ancak bu eski isimler için geçerli değildir. Yalnızca eski sunucu yapılandırması için çalışırlar. Aşağıdaki grafik eski ve yeni isimleri ve süper küresellerin açıklamasını göstermektedir. Bu süper küresellerin adlarının büyük harflerle yazıldığına dikkat edin.

YeniEskiAçıklama
$ _GET $ HTTP_GET_VARS Bu süper küresel, guery dizesi gibi get yöntemiyle programa gönderilen değişkenleri içerir.
$ _POST $ HTTP_POST_VARS Bu süper küresel, post metodu ile programa gönderilen değişkenleri içerir.
$ _COOKIE $ HTTP_COOKIE_VARS Bu süper küresel, bir çerezden program için mevcut olan değişkenleri içerir.
$ _SESSION $ HTTP_SESSION_VARS Bu süper küresel, bir oturum aracılığıyla program tarafından kaydedilen değişkenleri içerir.
$ _FILES $ HTTP_POST_FILES Bu süper küresel, bir dosya yüklemesinde kullanılabilen değişkenleri içerir.
$ _ENV $ _HTTP_ENV_VARS Bu süper küresel sunucu ortamında kullanılabilen değişkenleri içerir.
$ _REQUEST -- Bu süper küresel, herhangi bir kullanıcı girişi türünden bir programa gönderilen değişkenleri içerir. Bu en genel veya evrensel süper küresel türdür.
$ _SERVER -- Bu süper küresel sunucu hakkında dosya yolları gibi bilgiler içerir.