getenv('HTTP_HOST');
bunu kullanmanı tavsiye ederim. getenv ile dns olsa bile gerçek ip adresine erişebilirsin.
bunu kullanmanı tavsiye ederim. getenv ile dns olsa bile gerçek ip adresine erişebilirsin.
Katılıyorum.
IP adresi almak için kullanabileceğin güzel bir fonksiyon:
function GetIP(){
if(getenv("HTTP_CLIENT_IP")) {
$ip = getenv("HTTP_CLIENT_IP");
} elseif(getenv("HTTP_X_FORWARDED_FOR")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
if (strstr($ip, ',')) {
$tmp = explode (',', $ip);
$ip = trim($tmp[0]);
}
} else {
$ip = getenv("REMOTE_ADDR");
}
return $ip;
}
Kullanımı:
Fonksiyonumuzu php dosyamıza yerleştirdikten sonra yapmamız gereken şey bu fonksiyonumuzu bir değişkene atayarak çağırmamız olacak. Aşağıdaki şekilde fonksiyonumuzu bir değişkene atayabiliriz.
$ip_adresi = GetIP();
Şimdi ise fonksiyonumuzu ve değişkenimizi kullanan, basit bir if kontrolüne sahip bir örnek yazalım.
$ip_adresi = GetIP();
if (empty($ip_adresi))
// IP adresi alınamadıysa exit diyerek çıkıyoruz.
{
exit ("IP adresiniz alınamadı!");
// IP adresiniz alınamadı diyerek çıkıyoruz.
}
else
{
echo "IP Adresiniz: $ip_adresi";
// IP adresi başarıyla alınırsa ekrana yazdırıyoruz.
}