¿Puede X-FORWARDED-FOR contener múltiples IP?

13

¿Puede X-FORWARDED-FORcontener múltiples direcciones IP? Si es así, ¿por qué? Un ejemplo ilustrativo sería genial.

Hassan Baig
fuente

Respuestas:

22

Sí, si una solicitud se encadena a través de más de un servidor proxy, entonces cada proxy debe agregar la IP del anterior al encabezado X-Forward-For existente para que se conserve toda la cadena.

Mike Scott
fuente
Nunca he visto un proxy que se agregue a un valor existente. ¿Alguna cita para esto?
ceejayoz
44
Experiencia personal. He pasado mucho tiempo analizando los encabezados X-Fordered-For recibidos por un sitio web grande, y en realidad no es raro ver dos o tres direcciones IP en el encabezado.
Mike Scott
44
Pero también vea el artículo de Wikipedia aquí: en.m.wikipedia.org/wiki/X-Forwards-For . Dice "el valor es una lista de direcciones IP separadas por comas y espacios, siendo la izquierda el cliente original y cada proxy sucesivo que pasó la solicitud agregando la dirección IP de donde recibió la solicitud".
Mike Scott
Me pregunto si es un proxy particular haciendo eso. Fascinante. En mi experiencia, nginx no lo maneja así.
ceejayoz
1
@ceejayoz si está utilizando proyectos de código abierto como nginx y escribe su encabezado como "SET xff = clientIP", nunca se agregará. La mayoría de los aparatos comerciales se agregue o conjunto de atributos, si no está disponible networkinghowtos.com/howto/...
Jacob Evans
2

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

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

Si una solicitud pasa por varios servidores proxy, se enumeran las direcciones IP de cada servidor proxy sucesivo. Esto significa que la dirección IP más a la derecha es la dirección IP del proxy más reciente y la dirección IP más a la izquierda es la dirección IP del cliente de origen.

Ejemplos:

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
fuente