15 1 0 4000 1 https://haktanbozer.com.tr 300

PHP Server Değişkeni

PHP programlama dilinde “$_SERVER” değişkeni bizlere kullanmış olduğumuz sunucu ve işletme ortamı hakkındaki bilgilere erişmemize olanak tanımaktadır. Verileri dizi olarak saklar.

 

“PHP_SELF”

Çalıştırılmakta olan betiğin, belge kök dizinine göreli dosya adıdır. Örneğin, http://example.com/foo/bar.php adresindeki bir betik için $_SERVER[‘PHP_SELF’] değeri /foo/bar.php olacaktır. __FILE__ sabiti geçerli dosyanın tam yolunu ve dosya adını içerir. PHP komut satırı işlemcisi olarak çalışıyorsa bu değişken betik adını içerir.

 

“argv”

Betiğe aktarılan bağımsız değişken dizisidir. Betik komut satırında çalıştığında, komut satırı bağımsız değişkenlerine C gibi erişim imkanı verir. Betik GET yöntemi üzerinden çağrıldığında, bu değişken sorgu dizgesini içerir.

 

“argc”

Betiğe aktarılan komut satırı bağımsız değişkenlerinin sayısını içerir (betik eğer komut satırından çalıştırılıyorsa).

 

“GATEWAY_INTERFACE”

Sunucunun desteklediği CGI belirtiminin sürümünü içerir; 'CGI/1.1' gibi.

 

“SERVER_ADDR

Geçerli betiğin altında çalıştığı sunucunun IP adresidir.

 

“SERVER_NAME”

Geçerli betiğin altında çalıştığı sunucunun adıdır. Eğer betik bir sanal konak üzerinde çalışıyorsa, o sanal konağın adını içerir.

NOT = Apache 2 altında, UseCanonicalName = On ve ServerName atamaları yapılmalıdır. Aksi takdirde, bu değer istemci tarafından belirtilmiş muhtemelen sahte bir konak ismi içerebilir. Güvenliliğin önemli olduğu içeriklerde bu değere güvenmek doğru değildir.

 

“SERVER_SOFTWARE

Sunucu kimlik dizgesi, isteklere verilen cevap başlıklarının içinde verilir.

 

“SERVER_PROTOCOL”

Sayfa isteğinin yapıldığı protokolün ismi ve sürümüdür; ‘HTTP/1.1’ gibi;

 

“REQUEST_METHOD”

Sayfaya erişim için kullanılan istek yöntemi; ‘GET’, ‘HEAD’, ‘POST’, ‘PUT’ gibi.

NOT = Eğer istek yöntemi HEAD ise PHP betiği başlıklar gönderildikten sonra (çıktının çıktı tamponu olmadan üretilmesinden sonra anlamında) sonlandırılır.

 

“REQUEST_TIME”

İsteğin başlangıç zamanı etiketidir.

 

“REQUEST_TIME_FLOAT”

Mikrosaniye cinsinden isteğin başlangıç zamanı damgası.

 

“QUERY_STRING”

Sorgu dizgesi, sayfaya erişirken kullanılabilir.

 

“DOCUMENT_ROOT”

Sunucunun ayar dosyasında da tanımlandığı gibi, geçerli betiğin altında çalıştığı belge kök dizinidir.

 

“HTTPS”

Eğer betik HTTPS protokolü ile sorgulanmışsa boş olmayan bir değer atanır.

 

“REMOTE_ADDR”

Geçerli sayfayı görüntüleyen kullanıcının IP adresidir.

 

“REMOTE_HOST’

Geçerli sayfayı görüntüleyen kullanıcının sunucu adıdır. Kullanıcının REMOTE_ADDR değerinden ters dns sorgusuyla elde edilir.

NOT = HTTP sunucusu bu değişkeni oluşturmak için yapılandırılmalıdır. Bunun için, örneğin Apache’de httpd.conf içinde HostnameLookups On olmalıdır. Ayrıca gethostbyaddr() işlevine de bakılabilir.

 

“REMOTE_PORT”

Kullanıcının makinesinin HTTP sunucusu ile haberleşmek için kullandığı porttur.

 

“REMOTE_USER’

Kimliği kanıtlanmış kullanıcı.

 

“REDIRECT_REMOTE_USER’

İstek dahilen yönlendirilmişse kimliği kanıtlanmış kullanıcı.

 

“SCRIPT_FILENAME’

Geçerli betiğin mutlak yoludur.

NOT = Eğer betik file.php veya ../file.php gibi göreli bir yolla komut satırından çalıştırılırsa, $_SERVER[‘SCRIPT_FILENAME’] kullanıcı tarafından belirtilen göreli yolu içerir.

 

“SERVER_ADMIN’

HTTP sunucusu ayar dosyasındaki SERVER_ADMIN (Apache için) yönergesine verilen değerdir. Eğer betik bir sanal konak üzerinde çalışıyorsa, o sanal konak için için tanımlanmış değer olur.

 

SERVER_PORT’

Haberleşme için HTTP sunucusu tarafından kullanılan porttur. Öntanımlı kurulumlar için değeri ’80’dir; örneğin SSL kullanımında bunu güvenli HTTP portu olarak ne tanımladıysanız ona değiştirebilirsiniz.

NOT = Apache 2 altında, fiziksel (gerçek) portu almak için UseCanonicalName = On’dan başka UseCanonicalPhysicalPort = On da tanımlanmalıdır, aksi takdirde, bu değer sahte olabilir ve fiziksel port değerini döndürüp döndürmeyeceği belli olmaz. Güvenliğin önemli olduğu içeriklerde bu değere güvenmek doğru değildir.

 

“SERVER_SIGNATURE’

Eğer etkinse, sunucu tarafından üretilen sayfalara eklenen, sunucu sürümünü ve sanal konak adını içeren dizgidir.

 

“PATH_TRANSLATED’

Sunucu gerekli sanaldan gerçeğe dönüşümleri yaptıktan sonra geçerli betiğin dosya sistemini (belge kökü değil) temel alan yoludur.

NOT Apache 2 kullanıcıları PATH_INFO tanımlatmak için httpd.conf içinde AcceptPathInfo = On yapılandırmasını kullanabilirler.

 

“SCRIPT_NAME’

Geçerli betiğin yolunu içerir. Kendi kendilerini göstermesi gereken sayfalar için kullanışlıdırlar. __FILE__ sabiti geçerli (örn. içerilen) dosyanın tam yolunu vedosya adını içerir.

 

“REQUEST_URI’

Sayfaya erişim için belirtilen URI; örneğin, ‘/index.html’.

 

“PHP_AUTH_DIGEST’

Özetli HTTP kimlik doğrulaması yapılırken bu değişken istemci tarafından gönderilen ‘Authorization’ başlığında belirtilir (böylece siz de uygun geçerlilik denetimini yapmak için bunu kullanabilirsiniz).

 

“PHP_AUTH_USER”

HTTP kimlik doğrulaması yapılırken bu değişkene kullanıcı tarafından sağlanan kullanıcı adı atanır.

 

“PHP_AUTH_PW”

HTTP kimlik doğrulaması yapılırken bu değişkene kullanıcı tarafından sağlanan parola atanır.

 

“AUTH_TYPE”

Apache altında modül olarak HTTP kimlik doğrulaması yapılırken bu değişkene kullanılan kimlik doğrulama türü atanır.

 

“PATH_INFO”

İstemci tarafından sağlanan dosya yolunu içerir; dosya isminin ardında bir sorgu dizgesi olsa bile bu gösterilmez. Örneğin, betiğe şöyle erişiliyor olsun: http://www.example.com/php/path_info.php/some/stuff?foo=bar. Bu durumda $_SERVER[‘PATH_INFO’], /some/stuff değerini içerecektir.

 

“ORIG_PATH_INFO”

PHP tarafından işlenmeden önceki özgün ‘PATH_INFO’.

 

KAYNAKÇA
Paylaş:
Ulam:PHP
Önceki Yazı
PHP Dizi Silme
Sıradaki Yazı
PHP GET Metodu