当我在 chromium URL 栏中输入 URL 时,即http://10.10.10.3:80
服务器当前无法访问,当我希望 chromium 停止尝试加载时,我按下“停止加载此页面”按钮,URL 就会消失。这是邪恶的!
可以说,我的端口错了,所以我想用另一个端口再试一次。我必须再次输入整个 URL。
当我按下“停止加载此页面”按钮时,URL 应该在我输入时保留在那里,以便我可以更正它。
相反,它被之前的“最后成功的 URL”所取代。
有没有办法修复这个邪恶的功能?
当我在 chromium URL 栏中输入 URL 时,即http://10.10.10.3:80
服务器当前无法访问,当我希望 chromium 停止尝试加载时,我按下“停止加载此页面”按钮,URL 就会消失。这是邪恶的!
可以说,我的端口错了,所以我想用另一个端口再试一次。我必须再次输入整个 URL。
当我按下“停止加载此页面”按钮时,URL 应该在我输入时保留在那里,以便我可以更正它。
相反,它被之前的“最后成功的 URL”所取代。
有没有办法修复这个邪恶的功能?
这是不可能的,因为网络流量是如何工作的,每个请求都有/需要一个结果状态并且不能是无状态的,这就是为什么 chromium 会删除您尝试连接的地址(除了此类事物的安全方面)。
当您请求与域/IP 的连接时,结果可能是:200(页面加载正常)、404(未找到)、408(超时)等。当您在达到状态之前取消请求时,很明显由于取消操作,浏览器不显示任何结果/url,并且没有用于“已取消请求”的 HTTP 状态 XXX 代码(http 请求列表)。
不可能,解决此问题的三种可能方法:
xxx
状态(非 RFC)(请注意,chromium 需要很长时间才能构建)timeout
(408),这在不修补的情况下在铬上是不可能的,这里和这里也有讨论。network.http.connection-timeout
设置是可行的。这种行为是设计使然,几年前所有浏览器的开发人员都付出了巨大的努力,以使页面不会显示错误的 URL。这实际上是可能的,直到这种技术开始被恶意软件使用。
您要求的行为是一个安全漏洞。如果可以显示带有错误 URL 的页面,攻击者可以将您银行的 URL 与他自己的页面一起显示,这样您就可以输入您的帐号和密码,然后清空您的所有帐户。这确实发生了,直到这个漏洞被关闭。
只有在自动发生的新标签页上才能显示错误的 URL。它在这里工作的原因是没有显示真实页面,因此没有安全理由不显示输入的(错误的)URL。
这种行为并不是 Chromium 特有的。我遇到的每个浏览器都完全相同,因为这是安全的做法。
此外,浏览器开发人员甚至使抛出的对话框无法掩盖地址栏,因为当无法修改 URL 本身时,攻击者会立即使用这种技术来模仿虚假地址栏。
我能提供的唯一解决方案是在点击之前复制一个长输入的 URL Enter,这就是我已经做的。你应该养成做 CtrlA和CtrlC 之前做的习惯,以防万一。
以下是攻击者如何使用您要求的选项来获取您的银行登录信息:
attacker.com/exploit
,该网站看起来与您的银行一模一样,只是地址栏泄露了它。良好实践
有一种简单的方法可以避免这种烦恼,
就像按Ctrl T或一样简单Ctrl N:
打开一个新选项卡或一个新窗口,然后在其中写入新 URL。
如果手动中断,则没有预加载页面,并且 URL 不会从栏中删除。
使固定
如果您想修复它,您可能必须为每次更新手动修补源代码并重新编译它。
您可能会发现下载源代码、编写 fork 并将差异应用于以下每个更新版本很有用。但请记住,目前的行为是为了避免诈骗......所以上面的最佳实践。
最后的评论 (Tl; dr)
我知道改变我们的行为往往比找到正确的程序设置更容易......而且不应该这样......
事实是,这一次,有一个严肃的理由表明我们改变了我们的行为,这可以被认为是好的做法。
在这种情况下,建议不是想办法改变程序的行为,无论如何,而是改变(只按两个键)我们的行为以避免潜在的风险。