İnternette Php ile ilgili bir araştırma yaparken bir fonksiyon dikkatimi çekti. Söz konusu fonksiyonu kullanarak kullanıcının gerçek ip adresini alabiliyorsunuz.Php’de kullanıcının ip adresini almak için birkaç yöntem bulunmaktadır. Fakat bu yöntemler bazen yetersiz gelmektedir. Bazı şirketler ya da kullanıcılar ip adreslerini maskeleyerek bizden gerçek ip adreslerini gizlerler. Bu gibi durumlarda biz sadece 192.168.xxx.xxx gibi işimize yaramayacak ip adreslerini görebiliriz.

Standart php ip bulma yöntemleriyle bunu engelleyemezsiniz. Fakat aşağıdaki fonksiyon aracılığıyla kullanıcının gerçek ip adresini elde edebilirsiniz. (Not: Bu fonksiyon ip adresinin %100 gerçekliğini garanti etmez, sadece standart yöntemlere göre daha güvenilirdir.)

Php Standart Ip Adresi Alma Kodu:

<?php echo $_SERVER['REMOTE_ADDR']; ?>

Php Gerçek Ip Adresi Alma Fonksiyonu:
Fonksiyon Kodları:

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ı:

$ip_adresi = GetIP();
// "echo GetIP();" diyerek ekrana da yazdırabilirsiniz.

Test etmek için tıklayın.