; $ _SERVER ['REMOTE_ADDR'] için olası dönüş değerleri nelerdir?

3 Cevap php

Bir giriş modülü yazarken, ben diğer tarafta kim doğrulama için ek bir önlem olarak IP log istediğiniz hala diğer tarafta aynı kişidir.

I $_SERVER['REMOTE_ADDR'], uzak makinenin IP adresini almak için yollar (çok) biri olarak kullanıyorum. Kenara bir IPv4 veya IPv6 adresi, ben bu dönmek için beklemek gereken başka değerler vardır?

3 Cevap

Bu kolayca taklit edilebilir ve POST işlemleri yakalama için yeterince anlayışlı olan herkes muhtemelen zaten bunu yapıyor gibi IP adreslerini kontrol için hiçbir ilave güvenlik gerçekten var.

Ayrıca, potansiyel olarak rahatsız edici meşru kullanıcılar olabilir. Bir kişi birkaç ücretsiz açık wifi noktaları vardır bir yerde olabilir örneği düşünün. Onlar giriş sayfasına geldiğinizde, onlar bir hotspot bağlı olabilir ancak oturum zaman, kendi makine başka bir yönlendirici daha iyi bir seçenek olduğuna karar olabilir ve bu nedenle IP değişecektir. İster inanın ister inanmayın, bu kolayca hüsrana kullanıcılar (birkaç {[) (0]}, olsa) bazı caydırmak olabilir.

Dürüst olmak gerekirse, ben sadece rahatsız olmaz. Eğer SSL kullanılarak, genellikle açıklayan gibi güvenlik sorunlarını önlemek için gitmek için en iyi yoldur. Proje ile iyi şanslar.

PHP çevrimiçi belgelerine göre yalnızca bir IP adresi iade edilmelidir.

http://us.php.net/manual/en/reserved.variables.server.php

"'REMOTE_ADDR':

Kullanıcı Geçerli sayfayı görüntüleyen hangi IP adresi. "

Değer bir IPv4 veya IPv6 adresi olabilir. Muhtemelen sadece kurallı değerler IP adresi çeşitli şekillerde yazılmış olabilir farkında alacak rağmen. 192.0.2.1 192.000.002.001, 2001:db8::1 2001:0db0:0000:0000:0000:0000:0000:0001 ile aynıdır aynıdır vb IPv4 adres gibi bile IPv6 gösterimde yazılabilir ::ffff:192.0.2.1 veya ::ffff:c000:0201 web sunucusu IPv6 soketleri IPv4 bağlantılarını kabul ederse. Ben Linux sistemleri üzerinde çok görüyoruz.

IP adreslerini giriş sürece yeterli rezerv alanı gibi bir sorun olmamalı. Aslında erişim kontrolü için IP adreslerini kullanarak bu gün daha zor oluyor. Dünyanın büyük parçalar yeni IPv4 adresleri üzerinden çalıştırmak çünkü ISS'ler IPv4 internete yeni müşteriler bağlayan tutmak için büyük ölçekte NAT kullanmak zorunda olduğunu göreceksiniz. Bu büyük ölçekli NAT'lar müşterilerinin belki binlerce kamu IPv4 adresleri havuzu kullanmak olacaktır. Bir IP adresi birçok müşteri tarafından kullanılabilir, ve bir müşteri havuzundan farklı adreslerini kullanarak sonunda olabilir.

IPv6 izleme IP adresi dikkate almak başka şeyler vardır. Orijinal IPv6 otomatik yapılandırma mekanizması IPv6 adresinin bir parçası olarak MAC adresini kullanarak dayanmaktadır. Çünkü gizlilik endişeleri çoğu işletim sistemleri artık giden bağlantıları için bir (tür) rastgele oluşturulmuş bir arabirim tanımlayıcısı (adres genellikle son 64 bit) kullanın ve bu bit / zamanla değişebilir olacaktır olabilir. Bazı işletim sistemleri (Mac OS X) bile IPv4 veya IPv6 daha hızlı ve ben müşteri vesileyle IPv4 ve IPv6 arasında ileri ve geri geçiş gördük konusunda istatistikler tutmak.

Ve o zaman, böylece IP adreslerini geçiş, başka bir kablosuz hotspot veya ofis ağı dolaşmak kullanıcımız var olabilir.

Yani oturum IP adresleri veri ile ne yapmak istediğinize dayalı mantıklı olabileceğini düşünüyorum, ama erişim kontrolü bir formu (parçası) olarak bunları kullanarak bu değer daha fazla sorun neden olabilir.