X-Forwarded-For
X-Forwarded-For to nagłówek HTTP, w którym serwer pośredniczący zapisuje adres IP klienta, który wysłał mu zapytanie.
Zaktualizowano · Redakcja Prokso
X-Forwarded-For (w skrócie XFF) to linia w nagłówkach HTTP zapytania. Serwer pośredniczący dopisuje tam adres IP, z którego przyszło do niego zapytanie. Jeśli zapytanie przechodzi przez kilka takich serwerów, w nagłówku pojawia się kilka adresów oddzielonych przecinkami. Pierwszy z lewej zwykle należy do klienta.
Najczęściej ten nagłówek dodaje reverse proxy albo load balancer przed stroną. Serwer strony widzi tylko adres load balancera, więc adres IP odwiedzającego poznaje właśnie z XFF. Tak samo może działać proxy przezroczyste w sieci biura lub operatora.
Obok XFF istnieją jeszcze dwa nagłówki. Via pokazuje, przez jakie węzły pośrednie przeszło zapytanie. Forwarded to standardowa wersja z RFC 7239, w której adres klienta, protokół i host są zapisane w jednym polu, na przykład Forwarded: for=203.0.113.5;proto=https.
Tak to wygląda w praktyce. Otwierasz stronę, a zapytanie idzie najpierw przez proxy, a potem przez load balancer strony. Jeśli proxy dodaje XFF z Twoim adresem, load balancer dopisze do niego adres proxy i serwer strony dostanie oba. Jeśli proxy nic nie dodaje, w nagłówku będzie tylko adres proxy zapisany przez load balancer. Dlatego ważne jest zachowanie każdego ogniwa łańcucha, a nie tylko ostatniego.
Jeśli pracujesz przez proxy, te nagłówki są ważne z prostego powodu. Gdy serwer pośredniczący przekazuje je dalej, strona może odczytać z nich Twój prawdziwy adres IP, chociaż połączenie przyszło z innego adresu. Proxy, które nie dodają takich nagłówków i nie zdradzają swojej obecności, nazywa się anonimowymi lub elitarnymi.
Pamiętaj, że XFF to zwykły tekst. Klient może wpisać tam cokolwiek, dlatego strony zwykle ufają tylko tej części nagłówka, którą dodał ich własny serwer. Z zewnątrz nie widać jednak, jak zachowuje się konkretna strona, więc lepiej samemu wiedzieć, co do niej trafia. Nie traktuj więc nagłówka ani jako dowodu, ani jako ochrony.
Sprawdzenie tego jest proste. Otwórz stronę mój IP przez proxy i zobacz, jaki adres, kraj i operatora pokazuje. Linię proxy możesz też osobno sprawdzić narzędziem sprawdzanie proxy. Jeśli gdzieś pojawia się Twój domowy adres IP, szukaj przyczyny w łańcuchu: w przeglądarce, programie albo serwerze pośredniczącym, który dodaje nagłówki.
Pytania i odpowiedzi (FAQ)
Czy strona może poznać mój adres IP przez X-Forwarded-For?
Tak, jeśli serwer pośredniczący po drodze wpisał tam Twój adres i przekazał nagłówek dalej. Otwórz stronę „mój IP” przez proxy i sprawdź linię proxy narzędziem do sprawdzania, aby zobaczyć, jaki adres dostaje strona.
Czym X-Forwarded-For różni się od Forwarded?
X-Forwarded-For to starszy nagłówek, który przyjął się bez standardu. Forwarded opisuje RFC 7239 i przekazuje w jednym polu adres klienta, protokół i host. Cel obu jest taki sam.
Rezydencjalne $1.59, mobilne $2.50, serwerowe $0.65 za 1 GB
Rejestracja w minutę, dostęp od razu po płatności.