Czy X-FORWARDED-FOR może zawierać wiele adresów IP


13

Może X-FORWARDED-FORzawierać wiele adresów IP? Jeśli tak, to dlaczego? Przykład ilustrujący byłby świetny.

Odpowiedzi:


22

Tak, jeśli żądanie jest powiązane z więcej niż jednym serwerem proxy, każdy serwer proxy powinien dodać adres IP poprzedniego do istniejącego nagłówka X-Forwarded-For, aby cały łańcuch został zachowany.


Nigdy nie widziałem serwera proxy, który pasuje do istniejącej wartości. Masz na to powód?
ceejayoz

4
Osobiste doświadczenie. Spędziłem dużo czasu analizując nagłówki X-Forwarded-For otrzymane przez dużą stronę internetową, i tak naprawdę nierzadko widuje się dwa lub trzy adresy IP w nagłówku.
Mike Scott,

4
Zobacz także artykuł w Wikipedii tutaj: en.m.wikipedia.org/wiki/X-Forwarded-For . Mówi: „wartością jest lista adresów IP oddzielona przecinkami i spacjami, przy czym lewy skrajny to oryginalny klient, a każdy kolejny serwer proxy, który przekazał żądanie, dodał adres IP, z którego otrzymał żądanie”.
Mike Scott,

Zastanawiam się, czy robi to jeden konkretny serwer proxy. Fascynujący. Z mojego doświadczenia wynika, że ​​nginx nie radzi sobie z tym w ten sposób.
ceejayoz

1
@ceejayoz, jeśli używasz projektów typu open source, takich jak nginx, i napisz nagłówek jako „SET xff = clientIP”, nigdy się nie doda. Większość urządzeń komercyjnych dołącza się lub ustawia, jeśli atrybut jest niedostępny networkinghowtos.com/howto/…
Jacob Evans

2

Od https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For

X-Forwarded-For: <client>, <proxy1>, <proxy2>

Jeśli żądanie przechodzi przez wiele serwerów proxy, wymienione są adresy IP każdego kolejnego serwera proxy. Oznacza to, że prawy adres IP to adres IP najnowszego serwera proxy, a skrajny adres IP to adres IP klienta inicjującego.

Przykłady:

X-Forwarded-For: 2001:db8:85a3:8d3:1319:8a2e:370:7348

X-Forwarded-For: 203.0.113.195

X-Forwarded-For: 203.0.113.195, 70.41.3.18, 150.172.238.178
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.