网站禁止js跳转非本站域名代码及部署教程

网站被挂马了,经常会跳转到其它网站,如果你也找不到导致恶意跳转的源代码,那么不妨试试直接加一个禁止跳转到其它恶意网站的代码。

防跳转文件下载:https://pan.quark.cn/s/9749cbe0d76a

部署教程

1、下载文件后解压到本地,其中包含一个js文件夹和放跳转的js文件,按照自己的需求上传到服务器。

如果你的网站根目录有js文件夹,那么直接把里面的js文件上传到js文件夹里,如果根目录没有js文件夹,那么连同js文件夹一起上传到网站根目录。

2、打开并编辑js文件,把白名单域名改成自己的域名,建议填www网址和手机版网址,如果不需要,把下面两行删除,//当前域名前的逗号也删除。

// 设置允许的域名白名单(包括主域名及其子域名)
const allowedDomains = [
location.hostname, // 当前域名
‘改成你的域名’, // 其他可信域名
‘改成你的域名’ // 子域名
];

3、把这段js代码引入网站模板,一般是在head.html或include.html文件里,找到</script>标签,把这段代码放在</script>最上面,一定要让这个js文件最先加载,它才能有效拦截跳转。

<script src=”/js/tiaozhuanlanjie.js”></script>

到这里防恶意跳转代码就部署完成了,以js治js,非常合适。

适用类型

从百度等搜索引擎点击网站时,恶意跳转到XX网站;

手机浏览器首次访问网站时,会跳转到其它网站;

飞飞CMS、苹果CMS、海洋CMS程序模板恶意跳转广告站点;

……

功能说明:

1、链接点击拦截:

  • 自动检测所有<a>标签点击
  • 解析目标URL的域名
  • 检查是否在允许域名白名单内
  • 阻止非白名单域名的跳转

2、域名白名单:

  • 自动包含当前站点域名
  • 支持添加多个可信域名
  • 支持子域名匹配(如 .example.com 匹配所有子域)

3、特殊跳转防护:

  • 拦截通过 window.location = … 的跳转
  • 处理各种类型的链接(相对路径/绝对路径)
  • 忽略JavaScript伪协议链接

注意事项:

  • 对于动态创建的链接同样有效(事件委托)
  • 不会阻止浏览器默认行为(如新标签页打开)
  • 需要HTTPS环境下才能完全阻止部分现代浏览器的跳转
  • 无法100%防止所有跳转方式(如meta refresh、HTTP重定向)

本文来自投稿,不代表首晒立场,如若转载,请注明出处:https://www.shoushai.com/p/1582

喜欢 (1)

发表回复

登录后才能评论

猜你喜欢