Когда я ввожу URL и нажимаю Enter, например abc.com
, я не ожидаю, что попаду куда-то еще. Я ожидаю страницу с ошибкой, если сайта с таким URL нет. Но вместо этого меня перенаправляют на другой URL (даже на другой домен: abc.go.com
).
Я не эксперт в веб-технологиях, но, насколько я могу судить, существует две основные категории перенаправлений: перенаправления DNS/регистратора (невидимые) и перенаправления на стороне сервера (видимые, http-код 301 или 302).
Как мне предотвратить эти перенаправления на стороне сервера в Chrome? В лучшем случае я получаю страницу с сообщением о том, что у страницы другой URL или IP, и спрашиваю, хочу ли я продолжить.
Другой пример: hackoverflow.com
меня перенаправляют на два сайта отсюда, после первого перенаправления я могу мельком увидеть разработанную домашнюю страницу, прежде чем меня переместят на парковочный сайт. Я хотел бы остановить этот двойной перенаправление на полпути и изучить второй сайт.
решение1
Я понимаю, что это далеко не идеальный ответ, поскольку он будет работать только для ответов, содержащих контент, но я решил опубликовать его, поскольку на данный момент нет ни одного полезного и действенного ответа.
В качестве быстрого и грубого решения вы можете использовать отладчик (доступный в F12
большинстве CTRL+SHIFT+I
браузеров), чтобы дать себе возможность отказаться от перенаправления.
Запустите эту строку в консоли, прежде чем страница запустит какие-либо собственные скрипты:
window.onbeforeunload = function(){ return 'Leave page?'; };
Например, используя Chrome:
- Откройте отладчик (
F12
) и переключитесь наИсточникивкладка. - Нажмите
F8
, чтобы перевести отладчик в пошаговый режим. - Перейдите на проблемную страницу. Она начнет загружаться, но отладчик не позволит запустить скрипты.
- Вставьте указанный выше код в консоль и нажмите Enter.
- Нажмите
F8
еще раз, чтобы разрешить выполнение скриптов и дождаться завершения загрузки страницы. - Теперь перед перенаправлением вы увидите уведомление и сможете отменить его.
- Если страница неоднократно пытается перенаправить вас, вы можете указать Chrome не отображать диалог снова. Дальнейшие попытки страницы перенаправить вас куда-либо еще будут молча терпеть неудачу.
решение2
Еще один временный способ остановить перенаправление — нажать esc
кнопку до того, как оно произойдет.
esc
останавливает выполнение js на странице, а также html от рендеринга, так что если нажать достаточно быстро, перенаправление не должно произойти, но, возможно, страница не будет полностью загружена. Может быть полезно исследовать содержимое страницы и другую информацию, например, файлы cookie
решение3
По моему опыту с этой проблемой, не существует хорошего способа справиться с ней в каждой ситуации. Буквально на днях я столкнулся с этой проблемой, анализируя банковскую фишинговую аферу. Я сам искал напоминание об этой проблеме, потому что это было давно. Я пробовал изменить что-то в Chrome, чтобы страница перестала автоматически перенаправлять, но ничего не помогло. Причина, по которой это не работало, в том, что вот что было вверху страницы:
<html>
<head>
<meta content='0;URL='https://scam-website-two.scam'' http-equiv='refresh' />
</head>
<!-- other HTML here -->
</html>
Этот meta
тег перенаправлял на второй мошеннический сайт после попадания на первый мошеннический сайт. Подробнее о перенаправлении с помощью meta
тегаздесь.
Поэтому, насколько я могу судить, я не мог остановить перенаправление. Но мне было все равно, потому что мой запасной вариант для таких раздражающих ситуаций — просто загрузить веб-страницу как текстовый файл и проанализировать ее содержимое, что я и сделал.
Есть множество способов сделать это. Поскольку я работал внутри своей выделенной виртуальной машины Linux, где я анализирую мошенничество, я сделал следующее внутри терминала (bash):
content=$(wget http://scam-website-one.scam -q -O -)
echo $content > scam.html
Кредит там, где кредит причитается
Подводя итог, основной алгоритм выглядит так:
- Выберите язык
- Выполните HTTP GET для вашего проблемного URL
- Сохраните выходную строку в переменной
- Сохранить выходную строку в файл
Как я уже упоминал, это поможет вам хотя бы увидеть, что вызывает перенаправление. После загрузки файла я удалил этот meta
тег, а затем смог просмотреть страницу.
решение4
Насколько мне известно, отключить эту функцию невозможно.
Что еще важнее, это нарушит очень базовую функциональность, на которую полагаются веб-серверы. Можно ожидать, что множество веб-сайтов просто перестанут работать.
Как минимум, - все перенаправления «www» перестанут работать - все перенаправления «http-to-https» перестанут работать
Поэтому вам придется вручную вводить «https://www' перед каждым доменом.
Кроме того, многие подстраницы веб-сайтов также перестанут функционировать.
Поэтому я не удивлюсь, если разработчики Chrome и Firefox сделают отключение перенаправлений на уровне браузера крайне затруднительным или невозможным.