如何防止 Chrome 中的 URL 重定向?

如何防止 Chrome 中的 URL 重定向?

例如,当我输入 URL 并按下回车键时abc.com,我并不期望最终会转到其他地方。如果没有包含该 URL 的网站,我期望会出现错误页面。但事实是,我被重定向到另一个 URL(甚至是另一个域名:)abc.go.com

我不是网络技术专家,但据我所知,重定向主要分为两类:DNS/注册商重定向(不可见)和服务器端重定向(可见,http 代码 301 或 302)。

如何在 Chrome 中防止这些服务器端重定向?最好的情况是,我会收到一个提示页面,告诉我该页面有不同的 URL 或 IP,询问我是否要继续。

另一个例子是,hackoverflow.com我从这里被重定向到两个网站,在第一次重定向之后,我可以瞥见一个设计好的主页,然后被转到一个停放网站。我想在这次双重重定向中途停下来,检查第二个网站。

答案1

我意识到这远非一个完美的答案,因为这只适用于提供内容的回应,但我决定发布它,因为目前没有有用的、可操作的答案。

作为一种快速而简单的解决方案,您可以使用调试器(可通过大多数浏览器访问F12CTRL+SHIFT+I来让自己有机会选择退出重定向。

在页面运行其自身的任何脚本之前,在控制台中运行此行:

window.onbeforeunload = function(){ return 'Leave page?'; };

例如,使用 Chrome:

  • 打开调试器(F12)并切换到来源标签。
  • 按下F8可将调试器置于单步执行模式。
  • 导航到有问题的页面。它将开始加载,但调试器不允许脚本运行。
  • 将上述代码粘贴到控制台并按回车键。
  • 再次按下F8以允许脚本运行并让页面完成加载。
  • 现在,您将在任何重定向发生之前看到提示,并且您有机会取消它。
  • 如果页面反复尝试重定向您,您可以告诉 Chrome 不要再次显示该对话框。页面进一步尝试将您导航到其他地方将会失败,且不会发出任何提示。

提示恢复用户控制权

答案2

esc阻止重定向发生的另一种临时方法是在重定向发生之前按下按钮。

esc停止页面中 js 的执行,也停止 html 的渲染,因此如果按得太快,重定向不应该发生,但页面可能不会完全加载。调查页面内容和其他信息(如 cookies)会很有用

答案3

根据我的经验,在每种情况下,都没有很好的方法来处理这个问题。就在前几天,我在分析银行网络钓鱼诈骗时遇到了这个问题。我自己也在寻找有关这个问题的提醒,因为它已经有一段时间了。我尝试在 Chrome 中更改一些内容,让页面停止自动重定向,但没有任何效果。它不起作用的原因是因为页面顶部的内容如下:

<html>
    <head>
        <meta content='0;URL=&#39;https://scam-website-two.scam&#39;' http-equiv='refresh' />
    </head>
    <!-- other HTML here -->
</html>

meta标签在到达第一个诈骗网站后会重定向到第二个诈骗网站。有关使用该meta标签进行重定向的更多信息这里

因此,据我所知,我无法阻止重定向。但我不在乎,因为对于这种烦人的情况,我的后备解决方法是将网页下载为文本文件并分析内容,这正是我所做的。

有多种方法可以做到这一点。由于我在专用的 Linux VM 中工作,用于分析诈骗,因此我在终端 (bash) 中执行以下操作:

content=$(wget http://scam-website-one.scam -q -O -)

echo $content > scam.html

功劳应得者

总之,基本算法是:

  1. 选择语言
  2. 对问题 URL 执行 HTTP GET
  3. 将输出字符串存储到变量
  4. 将输出字符串保存到文件

就像我之前提到的,这至少可以帮助您了解导致重定向的原因。下载文件后,我删除了该meta标签,然后我就可以查看该页面了。

答案4

据我所知,没有办法禁用此功能。

更重要的是,这样做会破坏 Web 服务器所依赖的一个非常基本的功能。您可以预料到很多网站会停止运行。

至少,所有“www”重定向将停止工作 - 所有“http-to-https”重定向将停止工作

因此你必须手动输入'https://www' 在每个域之前。

除此之外,网站内的许多子页面也将停止运行。

因此,如果 Chrome 和 Firefox 开发人员使得在浏览器级别完全禁用重定向变得非常困难或不可能,我不会感到惊讶。

相关内容