2008-11-24 2 views
5

Можно ли перехватить каждый запрос, сделанный на странице, используя javascript? т. е. нажав на ссылку, загрузив изображение, запрос ajax ...Перехватить каждый запрос, исходящий с веб-страницы

+0

Не могли бы вы описать цель немного больше? Решение может быть слишком обширным. – Loki 2008-11-24 17:49:29

+0

Моя цель - переписать все запросы, исходящие со страницы? Один из способов сделать это - запустить DOM и переписать все ссылки, но даже тогда несколько динамически сгенерированных URL-адресов будут исключены. – akshat 2008-11-24 18:26:16

ответ

7

Одним словом, нет. Там нет места, где вы можете подключиться, чтобы получить все запросы.

Сказав это, вы можете использовать javascript для размещения обработчиков событий по ссылкам, посмотреть атрибут src тегов изображений и т. Д. Нет никакого «общего» способа подключиться ко всем запросам AJAX - это зависит от используемой библиотеки.

Есть другие вещи, которые необходимо учитывать, например, фоновые изображения CSS, Flash (что делать, если флеш-файл делает запрос?).

Если возможно, вы должны использовать сам браузер (например, Firebug) или прокси-сервер (например, Fiddler) или анализатор пакетов (например, Ethereal ... кажется, WireShark сейчас)

0

право Грега, нет ни одного вы можете подключить все запросы. Сказав это, какова ваша конечная цель в переписывании всего запросов? Если вам нужно добавить «параметр» к каждому запросу, а затем использовать его на стороне сервера, одним из способов сделать это является заголовок хоста. Вы можете изменить заголовок хоста на стороне сервера (т. Е. Перенаправить пользователя с сайта your-site.com на ваш -parameter.your-site.com), и все запросы после этого будут иметь * ваш параметр "в нем. сервер-сторона, вы можете использовать методы перезаписи URL-адресов для изменения URL-адреса на ваш-сайт.com?parameter=your-parameter.

Для перенаправления используйте код ответа http 302. Соответствующий компонент перезаписи текста должен быть установлен на стороне сервера (mod_rewrite для Apache, ISAPIrewrite для ASP.NET)

Некоторые моменты отметил: 1) пользователь не будет зарегистрирован из с суб-доменов и домены совместно куки сессии 2) Вам нужно будет настроить сопоставление подстановочных знаков в DNS erver 3) Кэширование браузера не будет таким эффективным 4) Вам необходимо проанализировать «бизнес-эффект» измененного URL-адреса

Смежные вопросы