Kann X-FORWARDED-FOR mehrere IPs enthalten?

13

Kann X-FORWARDED-FORmehrere IP-Adressen enthalten? Wenn ja warum? Ein anschauliches Beispiel wäre toll.

Hassan Baig
quelle

Antworten:

22

Ja, wenn eine Anforderung über mehr als einen Proxyserver verkettet ist, sollte jeder Proxy die IP des vorhergehenden zum vorhandenen X-Forwarded-For-Header hinzufügen, damit die gesamte Kette erhalten bleibt.

Mike Scott
quelle
Ich habe noch nie einen Proxy gesehen, der an einen vorhandenen Wert angehängt wird. Irgendwelche Zitate dafür?
Ceejayoz
4
Persönliche Erfahrung. Ich habe viel Zeit damit verbracht, X-Forwarded-For-Header zu analysieren, die von einer großen Website empfangen wurden, und es ist eigentlich nicht ungewöhnlich, dass zwei oder drei IP-Adressen im Header angezeigt werden.
Mike Scott
4
Lesen Sie aber auch den Wikipedia-Artikel hier: en.m.wikipedia.org/wiki/X-Forwarded-For . Es heißt "der Wert ist eine durch Kommas und Leerzeichen getrennte Liste von IP-Adressen, wobei der am weitesten links stehende der ursprüngliche Client und jeder nachfolgende Proxy, der die Anforderung übergeben hat, die IP-Adresse hinzufügt, von der er die Anforderung erhalten hat".
Mike Scott
Ich frage mich, ob es ein bestimmter Proxy ist, der das tut. Faszinierend. Nach meiner Erfahrung geht nginx nicht so damit um.
Ceejayoz
1
@ceejayoz Wenn Sie Open Source-Projekte wie nginx verwenden und Ihren Header als "SET xff = clientIP" schreiben, wird er niemals angehängt. Die meisten kommerziellen Appliances werden entweder angehängt oder festgelegt, wenn das Attribut nicht verfügbar ist. Networkinghowtos.com/howto/…
Jacob Evans
2

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

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

Wenn eine Anforderung mehrere Proxys durchläuft, werden die IP-Adressen jedes aufeinanderfolgenden Proxys aufgelistet. Dies bedeutet, dass die IP-Adresse ganz rechts die IP-Adresse des letzten Proxys und die IP-Adresse ganz links die IP-Adresse des Ursprungsclients ist.

Beispiele:

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
Sindre
quelle