Pregunta

He creado un código usando rizo (PHP) que me permite falsificar la de referencia o en blanco, el árbitro luego dirigir al usuario a otra página con un remitente falsificado.

Sin embargo, el inconveniente de esto es la dirección IP en los encabezados siempre será la IP del servidor, que no es una solución válida.

La cuestión;

¿Es posible el uso de secuencias de comandos del lado del cliente, es decir (xmlhttprequest) "cambiar" el referente a continuación, dirigir al usuario a una nueva página?

De este modo los usuarios manteniendo la dirección IP spoofing intacta, pero la de referencia.

Si es así, cualquier ayuda sería muy apreciada.

Gracias!

¿Fue útil?

Solución

No de JavaScript en un navegador moderno cuando se procesa la página.

Actualización: Ver comentarios para algunas herramientas manuales y otras plataformas basadas en JavaScript en la que técnicamente puede falsificar la referencia. En el contexto de los 8 años de edad, pregunta original que parece estar relacionado con hacer que las peticiones web, la respuesta sigue siendo generalmente "no".

No me va a editar todos mis respuestas de hace una década, aunque por lo downvoters, tener al `em. Me disculpo de antemano por no previendo correctamente el futuro y proporcionar una respuesta que va a durar para siempre.

Otros consejos

Este parece funcionar en la consola de Javascript de Firefox:

var xhr = new XMLHttpRequest; 
xhr.open("get", "http://www.example.com/", true); 
xhr.setRequestHeader( 'Referer', 'http://www.fake.com/' ); 
xhr.send();

En mi servidor de registro que veo:

referer: http://www.fake.com/

Un poco tarde a la mesa, pero parece que ha habido un cambio desde el último mensaje.

En Chrome (probablemente los navegadores más modernos en este momento) ya no están permitiendo 'Referer' a ser alterada mediante programación -. Ahora es estática-ish

Sin embargo, sí permite un encabezado personalizado que se enviará. Por ejemplo:.

var xhr = new XMLHttpRequest; 
xhr.open("get", "http://www.example.com/", true); 
xhr.setRequestHeader('CustomReferer', 'http://www.fake.com/'); 
xhr.send();

En PHP que cabecera se puede leer a través de "HTTP_ (encabezado en mayúsculas)":

$_SERVER['HTTP_CUSTOMREFERER'];

Ese fue el truco para mi proyecto ...

Para muchos de nosotros el conocimiento probablemente comunes, pero por alguna! Esperemos útil

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