¿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.

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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.