İ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.
Selam üstad,
Merak ettiğim birşey var..
‘Test etmek için tiklayiniz ” linki bize kendi ip adresimizi bildiriyor,
Peki bu linke tiklayan baska ip adreslerini bize bildirecek fonksiyonu
nasıl oluşturabiliriz ?
Ve bu fonksiyonun web’deki sürekli ulasabilecegimiz bir adrese bildirim göndermesini
nasil sağlayabiliriz ?
Ben test dosyasında ip’yi sadece gösterdim. Ama siz onu veritabanına kaydederek hangi zamanda hangi ip’den girildiğini daha sonra raporlayabilirsiniz.
biraz veri tabanı bilgisi gerektiriyor.
yapamıyorsan bıle
dosyaya kaydet ve dıledıgın zaman bak .
çok tşk ederim hocam. gerçekten işime yaradı. $_ENV veya $_SERVER reel sonuçları anlık vermiyodu. fonksiyonunuz çok iyi çalışıyor.
Çok teşekkür ederim işime yaradı
Ne yazıkki bu işe yaramayacak bir yöntemdir sevgili dostum. İnternetten tor browser indirirek aynı sayfayı açarsanız, ip adresinizin farklı olduğunu görebilirsiniz.
“Not: Bu fonksiyon ip adresinin %100 gerçekliğini garanti etmez, sadece standart yöntemlere göre daha güvenilirdir.” kısmının neresini anlamadın “sevgili dostum”. Tor browser zaten standart kullanıcıların %95’inin ismini bile bilmediği bir yazılım. Daha gerçek e-posta adresini yazmaya bile çekinen birinin akıl vermesi zaten başlı başına ayrı bir konu. Hayatında başarılar, aynen bu şekilde devam et.
tor browser değilki sadece modemi resetlesekte zaten yine ip adresimiz değişmezmi
IP adresinin değişmesi önemli değil. Bu fonksiyon sayfa ziyaret edildiğinde mevcut ip adresini aldığından ip adresinin değiştirilmesi problem değil.
öncelikle emeğinize sağlık çok güzel çalışıyor ancak kod satırlarını biraz açıklayabilirmisiniz hangi satırda ne iş yapıyor diye..
Görüşleriniz için teşekkürler. Satır satır açıklasam da size faydası olacağını sanmam, fonksiyon olarak kullanmak yeterli olacaktır.
iki fonksiyondada aynı sonucu aldım.
fonksiyondan sonra
iki haldede ipler aynı
Merhaba hocam,
Ben aynı konu üzerinde farklı bir şey sormak istiyorum. Yardımcı olursanız sevinirim.
Bildiğiniz üzere sitenize Türkiye’den girdikleri halde yabancı ülkelerden girmiş gibi gösteren programlar var.
Benim merak ettiğim sahte ip ile web siteme giren ziyaretçilerin (mesela isviçre ve romanya) gerçek İp adreslerini gösteren bir sistem veya program var mıdır acaba?
İlginize şimdiden teşekkürler.
Merhaba,
Anladığım kadarıyla vpn gibi teknolojilerden söz ediyorsunuz. O tür teknolojilerde gerçek ip adresini öğrenme gibi bir imkanımız yok maalesef.
Sizin bu işlemi ben php de forma giydirebilirmiyim ziyaretci defteri gibi sistem düşünün adam form gönderdiğinde ayriyetten ben bu adamın ıp adresini alıyım ismini falan alırken ipsinide alayım diyorum
Merhaba,
Evet kendi sisteminize göre güncelleyip entegre edebilirsiniz.
merhaba, bu sistem ipv4 uyumlu sanırım. ipv6 inde dahil olduğu yeni bir kod yazarmısın hocam.