maytkambek adlı üyeden alıntı

getenv('HTTP_HOST');
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.
}