2008-11-24 14 views
5

¿Es posible interceptar cada solicitud hecha desde una página usando javascript? es decir, hacer clic en un enlace, cargar una imagen, solicitar ajax ...Interceptar todas las solicitudes provenientes de una página web

+0

¿Podría describir el objetivo un poco más? La solución puede ser demasiado extensa. – Loki

+0

Mi objetivo es volver a escribir todas las solicitudes procedentes de una página? Una forma de hacerlo sería ejecutar el DOM y volver a escribir todos los enlaces, pero incluso entonces se omitirán algunas URL generadas dinámicamente. – akshat

Respuesta

7

En una palabra, no. No hay ningún lugar en el que pueda engancharse para obtener todas las solicitudes.

Habiendo dicho eso, puede hacernos javascript para ubicar los manejadores de eventos en los enlaces, mirar el atributo src de las etiquetas de imagen y más. No hay una forma "genérica" ​​de conectar todas las solicitudes AJAX, depende de la biblioteca que esté utilizando.

Hay otras cosas a considerar, como imágenes de fondo CSS, Flash (¿qué ocurre si un archivo flash realiza una solicitud?).

Si es posible que usted debe utilizar el propio navegador (por ejemplo Firebug) o un proxy (por ejemplo Fiddler) o un analizador de paquetes (por ejemplo, etéreo ... parece ser WireShark ahora)

+1

Pude conectarme a la solicitud de Ajax – xybrek

0

derecho de Greg, no hay nadie lugar puede enganchar en todas las solicitudes. Habiendo dicho eso, ¿cuál es su objetivo final al reescribir todas las solicitudes? Si necesita agregar un "parámetro" a cada solicitud y luego usarlo en el lado del servidor, una forma de hacerlo es el encabezado del host. Puede modificar el encabezado del host en el lado del servidor (es decir, redireccionar al usuario de su sitio- a su parámetro-su-site.com) y todas las solicitudes posteriores tendrán * su-parámetro "en él. del lado del servidor, puede usar las técnicas de reescritura de url para modificar la url a su-site.com parámetropara su parámetro.

Para redirigir utilice el código de respuesta http 302. El componente de reescritura de url apropiado necesitará configurarse en el lado del servidor (mod_rewrite para Apache, ISAPIrewrite para ASP.NET)

Algunos puntos a observado: 1) el usuario no se registra a cabo desde los subdominios y dominios comparten la cookie de sesión 2) Deberá configurar la asignación de comodines en su DNS erver 3) El almacenamiento en caché del navegador no será tan efectivo 4) Debe analizar el "impacto comercial" de un url cambiado

Cuestiones relacionadas