Devam Et
Logo
Blog
PHP

PHP İle IP Adresini Alma

PHP'de bazen sitenize bağlanan kullanıcının IP adresini almanız gerekebilir. Bunu IP'ye özel bir engelleme veya yönlendirme yapmak için, sitenize hangi konumlardan bağlanıldığını analiz etmek için (IP'den konum tespit edilebiliyor. Bunu da ilerleyen yazılarımızda ele alacağız.), sitenizin tekil ziyaretçi sayısını almak için vs. vs. kullanabilirsiniz. Peki PHP ile IP adresi nasıl alınır ? Bu sorunun cevabına geçmeden önce şu temel bilgileri vermekte fayda var ;

IP Adresi Nedir ?

IP (İnternet Protokolü) adresi, bir bilgisayar ağında iletişim için internet teknolojisini kullanan bir aygıtın belirleyici numarasıdır. IP adresi, o cihazın hangi servis sağlayıcısı veya ağı kullandığını ve internete hangi lokasyondan bağlandığını belirler. İnternet Servis Sağlayıcısı, internete bağlanan her cihaza benzersiz bir IP adresi tanımlar. IP adresi aynı zamanda, bir dijital aygıtın bir başka dijital aygıtla da internet aracılığıyla iletişime geçmesini sağlar. IP adresi olan iki cihaz, internete bağlı oldukları sürece, aynı ağa bağlı olmaksızın da birbiriyle etkileşim kurabilir. Ayrıca bir internet sitesine, alan adı yerine sadece IP adresi yazılarak da erişim sağlanabilir. (Chip Online)

Statik IP ve Dinamik IP nedir ?

IP adresleri kendi aralarında iki başlık altında incelenebilir. Statik ve dinamik. Adlarından da anlaşılacağı üzere Statik IP; hiçbir zaman değişmeyen hep aynı kalan, sistem yöneticisi tarafından bilgisayara atanmış olan IP'dir. Dinamik IP; cihaz her internete bağlandığında yeniden tanımlanan, bilgisayar arayüzü veya sunucu yazılımı tarafından otomatik olarak atanan IP adresidir.

IP adresi nasıl alınır ? 

PHP'de IP adresini almak için çok basit bir yöntemimiz var; Aşağıdaki kodu kullanarak direk IP adresini alabilirsiniz.

echo $_SERVER["REMOTE_ADDR"];

Ancak şöyle de bir durum var; bazı kullanıcılar veya şirketler ağ yazılımları ile IP adreslerini bizlere maskeleyerek gönderebiliyorlar. Öyle bir bilgisayarın IP adresini almak isterseniz karşınıza 192.172.XXX.XXX gibi açık bilgi vermeyen bir IP adresi çıkacaktır. Haa PHP'de çareler tükenirmi. TABİKİ HAYIR. PHP'ci abilerimiz üstadlarımız bizlere getenv() diye bir fonksiyon geliştirmiş ve sunmuşlar. Bizde bunu farklı parametreler ile kullanarak kullanıcın gerçek IP adresine ulaşabilir. O fonksiyonuda sizlerle paylaşayım. 

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

echo GetIp();

Buraya DİKKAT

Aldığınız IP adresi herzaman size doğru veri vermeyebilir. Bunu da aklınızdan çıkarmayın ;)

Author

Muhammed Yusuf TAŞKESENLİGİL

Hakkında: Hakkında: 2015 Haziran ayında KTÜ Bilgisayar Mühendisliği bölümünden mezun oldum. Yaklaşık 4 yıldır web teknolojileri üzerinde çalışıyorum. HTML, CSS, JavaScript ve PHP alanlarında proje geliştiriyorum. Teknolojiyi seven ve hayatının her alanında kullanan biriyim.

PHP ile Web Sitesinin Ekran Görüntüsünü Alma Önceki Yazı
Google Analytics API ile Analytics Verilerini Sitenize Gömün [PHP] Sonraki Yazı

0 Yorum

    Henüz hiç yorum eklenmemiş!

Bir Yorumda Sen Bırak