You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何阻止网站通过脚本重定向至其他网站?

如何阻止网站通过脚本重定向至其他网站?

遇到这种通过脚本直接修改window.location.href的恶意重定向确实挺闹心的,我之前也碰到过类似情况,试试下面这些方法,亲测在Chrome和Edge里都能起到作用:

  • 给uBlock Origin加自定义规则
    有时候默认的过滤列表没覆盖到这类针对性的恶意脚本,你可以手动添加规则来废掉它的重定向能力:

    1. 打开uBlock Origin的设置面板,切换到「我的规则」标签页
    2. 添加这样一条规则:你的论坛域名##+js(set, window.location.href, noopFunc),把「你的论坛域名」换成你常去的那个论坛的实际域名(比如forum.example.com
    3. 点击「保存」并刷新页面,这条规则会把修改window.location.href的操作变成空函数,让它没法跳转
      另外别忘了去「过滤器列表」里点一下「更新现在」,确保所有过滤规则都是最新的
  • 用浏览器开发者工具临时拦截
    如果只是临时对付一下,可以用开发者工具直接禁用恶意脚本:

    1. 打开论坛页面后按F12调出开发者工具,切换到「源代码(Sources)」标签
    2. 在搜索框里输入window.location.href,找到那个注入的恶意脚本文件
    3. 右键点击这个脚本,选择「禁用脚本」,之后页面就不会执行它的重定向代码了
      或者你也可以在window.location.href那一行打个断点,脚本执行到这里就会暂停,你可以手动跳过跳转步骤
  • 试试专门的防重定向扩展
    浏览器自带的弹窗拦截对这种脚本触发的重定向效果有限,你可以安装专门的防重定向扩展,比如「Redirect Blocker」,这类工具能精准检测并阻止脚本发起的location跳转,比通用广告拦截更有针对性

  • 修改浏览器内容安全策略(进阶操作)
    这个方法稍微复杂一点,适合有一定技术基础的用户:

    1. 在Chrome/Edge地址栏输入chrome://flags/#unsafely-treat-insecure-origin-as-secure(Edge把开头换成edge://flags
    2. 把论坛域名添加到输入框里,启用这个选项后重启浏览器
    3. 再打开开发者工具的「安全」标签,手动添加CSP规则,比如设置script-src 'self',只允许加载本站的脚本,从根源上阻止第三方广告脚本注入

备注:内容来源于stack exchange,提问作者Danny

火山引擎 最新活动