Pregunta

Este podría ser uno de esos " eh, ¿por qué? " preguntas, pero pensé que valdría la pena intentarlo.

¿Cómo podría uno, desde una aplicación del lado del servidor, utilizar la dirección IP de los clientes como la dirección IP de las aplicaciones a otro sitio web? La idea básica es que cualquier trabajo que realice la aplicación del lado del servidor se vea como el propio cliente que realiza el trabajo y no la IP estática del servidor.

No estoy seguro de si el cambio de encabezados HTTP funcionaría, pero podría estar equivocado. ¿Hay alguna documentación sobre esto?

Gracias,

Kyle

¿Fue útil?

Solución

Totalmente, absolutamente imposible. Ni siquiera podrá abrir una conexión TCP porque el servidor del otro sitio web intentará un acuerdo con el cliente y fallará.

Una dirección IP no es solo una ID antigua, es la dirección a la que los servidores enviarán cualquier respuesta. Suprimirlo básicamente solo tiene sentido si puede ajustar su solicitud en un solo paquete IP (lo que descarta TCP y, por lo tanto, HTTP) y no está interesado en la respuesta. Incluso entonces puede fallar porque los enrutadores de su ISP pueden tener reglas anti-suplantación de identidad que eliminan paquetes con " fuera de " Direcciones IP que se originan en " dentro de " redes.

Otros consejos

¿Por qué demonios querría una aplicación legítima falsificar su dirección IP?

Cambiar los encabezados HTTP podría cortarlo, pero lo más probable es que no lo haga. Depende de cuán ingenuo sea el otro servidor.

Parece que estás tratando de hacer algo de manera incorrecta, ¿puedes dar un poco más de información sobre qué es exactamente el caso de uso?

Si no hay que hacer ningún procesamiento en el medio, puede realizar el reenvío de puertos en el firewall IP de su servidor, de modo que el cliente se conecte a su servidor pero termine hablando con el otro servidor.

Si hay una mayor participación de su servidor, entonces lo correcto sería pasar la IP del cliente al otro servidor como parte de la URL (si es una aplicación web) o en otra parte de los datos (si no es así) El servidor receptor puede conocer y registrar correctamente el proceso sin necesidad de falsificación. Por supuesto, esto también requeriría un cambio en la otra aplicación.

Una vez más, asumiendo que estamos hablando de HTTP, otra idea que se me ocurrió sería redirigir a su cliente al otro servidor. Siempre que toda la información necesaria esté en el URI, puede recomendar al navegador del cliente que se conecte al otro servidor con un URI de su propia creación que podría tener cualquier valor adicional que el procesamiento de su servidor agregue a la solicitud.

Hace décadas, el diseñador de internet preguntó: "¿cómo podemos evitar que Kyle Rozendo haga algo tan malvado?" y "

Si el cliente está cooperando, puede instalar algún software en la máquina cliente y hacer el trabajo desde allí. Por ejemplo, un applet de Java firmado en tu página. [broma] Si el cliente no está cooperando, instala algún virus troyano [/ broma]

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top