Php ile Gerçek IP Adresini Alma

Merhaba arkadaşlar. Uzun zamandır PHP ile ilgili bir makale yazmadım ve açıkçası yazmayı özledim diyebilirim. İnternette şöyle bir tur atarken bir yabancı programlama sitesindeki fonksiyon dikkatimi çekti. Bu fonksiyon ile ziyaretçilerinizin gerçek ip adreslerini kolaylıkla alabiliyorsunuz. Şimdi ip adresi vardı gerçeği ne zaman çıktı diyeceksiniz bana ki çok normal. Hemen anlatayım.

Burada gerçek ip adresi dememdeki kasıt şu arkadaşlar. Bildiğiniz gibi bazı şirket hatlarında 192.168.xxx.xxx veya 10.10.114.xxx şeklinde ip adresleri kullanılmakta. Bu paylaşacağım fonksiyon bu tarzdaki ip adreslerini bile göstermektedir. Lafı fazla uzatmadan hemen foksiyonumuza ve kullanım şekline geçiyorum.

Fonksiyonumuz


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;
}

Fonksiyonun Kullanım Şekli

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.
}

Fonksiyonumuzu bu ve buna benzer yöntemler ile çağırıp kullanabilirsiniz arkadaşlar. Umarım işinize yaramıştır. Bir sorunuz olursa aşağıdaki yorum formunu kullanarak sorabilirsiniz. İyi programlamalar.

2 Yorum

  1. Adnan 02 Haziran 2010
  2. Batuhan Küçükali 25 Ekim 2011

Yorum Yaz