Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] REMOTE_ADDR a HTTP_X_REAL_IP różnice
Forum PHP.pl > Forum > Przedszkole
fish2000
Czym się różnią:

$_SERVER['HTTP_X_REAL_IP'];
$_SERVER['HTTP_X_FORWARDED_FOR'];
$_SERVER['REMOTE_ADDR'];

Wszystkie 3 pokazują mi to samo IP ;f
tehaha
sam się kiedyś nad tym zastanawiałem i nie znalazłem jakiejś jednoznacznej dokumentalnie popartej odpowiedzi, z info znalezionego w google wynika, że zmiennej HTTP_X_FORWARDED_FOR może znajdować się prawdziwy adres użytkownika, jeżeli użytkownik korzysta z proxy, aczkolwiek tutaj na jednych forach piszą, że jak jest lista numerów IP to ten pierwszy jest rzeczywistym numerem IP, ale np. tutaj znalazłem niedawno http://weblogs.asp.net/james_crowley/archi...-addresses.aspx, że trzeba brać ten ostatni adres z listy......
Zyx
Miarodajny jest jedynie $_SERVER['REMOTE_ADDR'] i do mechanizmów zabezpieczeń nie wolno korzystać z niczego innego, chyba że akurat chcesz, by Ci się ludzie włamywali smile.gif. To pole zawiera adres IP, na który odsyłana jest odpowiedź. Pozostałe pola są wypełniane na podstawie nagłówków HTTP i równie dobrze mogą zawierać adres IP, jak i tekst w stylu "miecio jest gupi". W szczególności oznacza to, że atakujący może nimi dowolnie manipulować, a swego czasu na tym właśnie polegała jedna z luk w phpBB 2, gdzie sobie dość swobodnie korzystano z HTTP_X_FORWARDED_FOR nie wiedząc, co to oznacza.
skarabe.pl
@Zyx, nie generalizuj. Jeżeli Twoja usługa stoi za jakimś load balancerem lub proxy (konfigurowanym przez Ciebie), to w REMOTE_ADDR będziesz miał adres IP tej maszyny, a chyba nie o to chodzi. Właśnie w takich wypadkach olewa się REMOTE_ADDR i jako adres IP klienta stosuje się wyłącznie HTTP_X_FORWARDED_FOR.
Zyx
Wewnętrzny intranet, gdzie cały ruch idzie przez takie bajery - zgoda. Tyle że ile serwisów internetowych może się pochwalić taką infrastrukturą? Drobny ułamek, tworzony przez drobny ułamek programistów*. We wszystkich innych przypadkach wartość pól innych niż REMOTE_ADDR dla własnego dobra lepiej traktować jako potencjalnie sfałszowaną.

* - i mogę bezpiecznie założyć, że jeśli ktoś już pracuje przy tego typu projekcie, to ma na tyle dużo wiedzy, że nie będzie zadawać podobnych pytań.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.