Merhaba. Sunucu Loglarında 81.82.83.84,192.168.1.5 şeklinde iplere rastlamıştım.Birinçi ip rooter ,ikinci ip iç ağdaki ip olarak görünüyor anlaşılan.Yanlız $_SERVER['REMOTE_ADDR']; şeklinde kullandığım script loglarında 2 ipye rastlamadım.
Elvin Şiriyev yazmış: > şimdiye kadar ip için sadece $_SERVER['REMOTE_ADDR']; ifadesini > kullandım. herhangi bir sıkıntı da yaşatmadı bana. içinde (,) olması > geçersiz kılar bu ip'yi, net bilgim olmamasına rağmen ifadenin > herzaman ve geçerli ip döndürmesi gerekiyor. ip'siz bir istem > olamayacağını sanıyorum. tabi buna sunucu bölümündeki arkadaşlar daha > net cevap verebilirler. > > 2009/1/29 Nuri Akman <nuri.ak...@hazine.gov.tr>: > >> Arkadaşlar, >> >> Aşağıdaki PHP fonksiyonuyla kullanıcı sisteme girdiğinde IP'sini alıyorum ve >> bir session değişkeninde saklıyorum. Kullanıcı ikinci bir diğer sayfaya >> tıkladığında bu fonksiyonu çağırarak tekrar IP'sini alıyorum ve Session >> değişkeni ile karşılaştırarak IP'nin değişip değişmediğini kontrol ediyorum. >> >> Kullanıcılarımın birinde şöyle bir durum oluştu: >> getip() fonksiyonu değer doğru bir şekilde IP bilgisini alıyor ve Session >> değişkeninde saklıyor (Örnek: 123.123.123) >> İkinci bir sayfaya girdiğimde Session değişkeni aynı değeri korurken >> (123.123.123.123) getip() fonksiyonum bana şu sonucu döndürüyor: >> 123.123.123.123, localhost >> >> Bu durumda karşılaştırma yaptığım zaman "123.123.123.123" == >> "123.123.123.123, localhost" aynı olmadığı için hataya düşüyor. >> >> Sorunu tespit ettim ve localhost ifadesini çıkararak çözdüm. Ancak, getip() >> fonksiyonunun ilk çalışmasında gelen sonuç ile ikindi bir sayfada >> çalıştırdığımda gelen sonucun farklı olmasını anlayabilmiş değilim. >> >> SORULAR: >> 1.) Sizler böyle bir sorun yaşadınız mı? >> 2.) aşağıdaki getip() fonksiyonu yerine önerebileceğiniz bir başka şey >> olabilir mi? >> >> Selamlar, >> Nuri AKMAN >> >> >> function getip() { >> if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), >> "unknown")) >> $ip = getenv("HTTP_CLIENT_IP"); >> >> else if (getenv("HTTP_X_FORWARDED_FOR") && >> strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) >> $ip = getenv("HTTP_X_FORWARDED_FOR"); >> >> else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), >> "unknown")) >> $ip = getenv("REMOTE_ADDR"); >> >> else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && >> strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) >> $ip = $_SERVER['REMOTE_ADDR']; >> >> else >> $ip = "unknown"; >> >> return($ip); >> } //getip >> >> >> _______________________________________________ >> Linux-programlama mailing list >> Linux-programlama@liste.linux.org.tr >> http://liste.linux.org.tr/mailman/listinfo/linux-programlama >> >> >> > > > > _______________________________________________ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama