|
Antalya Tasarım Grubu - Web Tasarim Hizmetleri - Hosting (Barindirma) Islemleri - Alan Adi Islemlerii
Çevre Değişkenleri :
Bir *.cgi dosyası ya da *.pl dosyası çalıştırıldığı anda (formdan veri gönderilsin veya gönderilmesin) istemci bilgisayar ya da bulunduğu çevre hakkında bir takım bilgiler toplar ve bu bilgileri %ENV ilişkili dizi değişkenine, belli anahtarlarla atar. Daha sonra bu değişkenin elemanları kullanılabilir. Mesela siteye gelen ziyaretcinin IP numarası $ENV{REMOTE_ADDR} şeklinde belirlenir. Sadece IP adresi değil istemcinin browser türü, programın bulunduğu server'a ait bilgiler (path, server yazılımının türü, versiyonu, perl yolu) çevre değişkenlerinde gerektiğinde kullanılmak üzere saklanır. Bazı çevre değişkenleri şunlardır:
REMOTE_ADDR : Ziyaretci bilgisayarın IP adresi.
REMOTE_HOST : Ziyaretci bilgisayarın adı (ya da ıp adresi).
HTTP_ACCEPT : Browser'ın kabul ettiği MIME türleri.
HTTP_USER_AGENT : Browser'ın türü.
HTTP_REFERER : Referans veren sayfa.
REQUEST_METHOD : Form verilerinin gönderilme metodu (Post ya da Get).
CONTENT_LENGTH : Post metoduyla gönderilen verilerin boyutu.
QUERY_STRING : Get metodu ile gelen bilgiler.
PATH_INFO : Programın çalıştığı dizinin göreli yolu.
PATH_TRANSLATED : Programın çalıştığı dizinin disk üzerindeki yolu.
SERVER_SOWFTWARE : Sunucu bilgisayarın server yazılımı.
SERVER_VERSION : Sunucu bilgisayardaki server yazılımının versiyonu.
SCRIPT_PATH : Programın çalıştığı dizinin tam yolu.
SERVER_PORT : Sunucu bilgisayarın o anda kullandığı port numarası.
Çevre değişkenleri program çalıştığı anda %ENV ilişkili dizi değişkenine atandığı için kullanmak için herhangi bir ek işlem yapmanıza gerek yoktur. Direk $ENV{'ANAHTAR'} şeklinde kullanabilirsiniz.
Örnek :
#!/usr/bin/perl
# cevre.cgi
print "Content-type:text/html\n\n";
print "<html><body>";
print "IP numaranız: <b>$ENV{'REMOTE_ADDR'}</b><br>";
print "Browser'ınızın türü: <b>$ENV{'HTTP_USER_AGENT'}</b><br>";
print "Server yazılımınız: <b>$ENV{'SERVER_SOFTWARE'}</b><br>";
print "Server versiyonu : <b>$ENV{'SERVER_VERSION'}</b><br>";
print "Programın tam yolu: <b>$ENV{'SCRIPT_PATH'}</b><br>";
print "</body></html>";
|
Çevre değişkenleri bir ilişkili dizide tutulur demiştik. Bir CGI dosyasına gelen tüm çevre değişkenlerini yani %ENV ilişkili dizi değişkeninin içeriğini şu şekilde görebiliriz :
#!/usr/bin/perl
# cevre2.cgi
print "Content-type:text/html\n\n";
print "<html><body>";
foreach $env_var (keys %ENV)
{
print "<B>$env_var</B> = $ENV{$env_var}<BR>\n";
}
print "</body></html>";
|
Antalya Tasarım Grubu - Web Tasarim Hizmetleri - Hosting (Barindirma) Islemleri - Alan Adi Islemlerii
|