Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] REMOTE_ADDR a HTTP_X_REAL_IP różnice
fish2000
post 14.08.2010, 11:24:49
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 26.07.2008

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
tehaha
post 14.08.2010, 11:46:03
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


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......
Go to the top of the page
+Quote Post
Zyx
post 14.08.2010, 13:25:20
Post #3





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


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.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
skarabe.pl
post 14.08.2010, 13:52:52
Post #4





Grupa: Zarejestrowani
Postów: 142
Pomógł: 49
Dołączył: 29.07.2010

Ostrzeżenie: (0%)
-----


@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.
Go to the top of the page
+Quote Post
Zyx
post 14.08.2010, 14:00:37
Post #5





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


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ń.

Ten post edytował Zyx 14.08.2010, 14:01:38


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 19:06