X-FORWARDED-FOR peut-il contenir plusieurs IP


13

Peut X-FORWARDED-FORcontenir plusieurs adresses IP? Si oui, pourquoi? Un exemple illustratif serait formidable.

Réponses:


22

Oui, si une demande est chaînée via plusieurs serveurs proxy, chaque proxy doit ajouter l'IP du précédent à l'en-tête X-Forwarded-For existant afin que la chaîne entière soit préservée.


Je n'ai jamais vu de proxy s'ajouter à une valeur existante. Une citation pour ça?
ceejayoz

4
Expérience personnelle. J'ai passé beaucoup de temps à analyser les en-têtes X-Forwarded-For reçus par un grand site Web, et il n'est en fait pas rare de voir deux ou trois adresses IP dans l'en-tête.
Mike Scott

4
Mais consultez également l'article Wikipedia ici: en.m.wikipedia.org/wiki/X-Forwarded-For . Il indique que "la valeur est une liste d'adresses IP séparées par des virgules + espaces, la plus à gauche étant le client d'origine, et chaque proxy successif qui a passé la demande en ajoutant l'adresse IP d'où il a reçu la demande".
Mike Scott

Je me demande si c'est un proxy particulier qui fait ça. Fascinant. D'après mon expérience, nginx ne le gère pas comme ça.
ceejayoz

1
@ceejayoz si vous utilisez des projets open source comme nginx et écrivez votre en-tête comme "SET xff = clientIP", il ne sera jamais ajouté. La plupart des appareils commerciaux ajoutent ou définissent si l'attribut n'est pas disponible networkinghowtos.com/howto/…
Jacob Evans

2

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

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

Si une demande passe par plusieurs mandataires, les adresses IP de chaque mandataire successif sont répertoriées. Cela signifie que l'adresse IP la plus à droite est l'adresse IP du proxy le plus récent et l'adresse IP la plus à gauche est l'adresse IP du client d'origine.

Exemples:

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.