正文:
一直受到恶意框架嵌入的骚扰,真是烦不胜烦啊!几乎每天都能在服务器日志上看到各种奇怪的 Referring 域名,甚至有些嚣张的仿冒域名直接使用我的主域名作为二级域名,真是太可恶了。据说这种黑帽做法可以利用被嵌入域名的权重来欺骗搜索引擎,总之就是一点好处都没有,对于网站来说绝对是百害无一利的。我曾尝试通过 IP 屏蔽的方法来应对,但发现基本上无效,因为对方会频繁更换主机和 IP,有时甚至使用阿里云的主机,主机 IP 五花八门,根本无从下手屏蔽。
目前国内流行的这种流氓行为是使用框架将你的网页嵌入到它的网页中。一旦网站被“盯上”,就像狗皮膏药一样难以摆脱。这种流氓行为带来的害处还是相当多的,比如: – 故意屏蔽被嵌入网页的网址,侵犯了原作者的著作权,也侵犯了访问者的知情权; – 大量业者使用不可见框架,使得框架网页与被嵌入的网页在视觉上完全相同,极具欺骗性; – 不良业者在被嵌入网页的上方或周围添加广告(甚至病毒和木马),不仅破坏了原作者的设计意图和形象,还属于侵权利用他人资源的谋利行为; – 如果访问者在框架内部,从一个网页点击到另一个网页,浏览器的地址栏不会改变,这对用户体验来说非常糟糕,访问者会将这种体验归咎于原网页的作者。 目前,明月采取的应对方法只有下面所示的 JS 代码了,经过测试,效果还是不错的,至少只要有恶意框架嵌入,就会自动跳转回“被嵌入网页的网址”。
< script type="text/javascript">
if (window!=top) // 判断当前的 window 对象是否是 top 对象
top.location.href =window.location.href; // 如果不是,将 top 对象的网址自动导向被嵌入网页的网址
try{
top.location.hostname;
if (top.location.hostname != window.location.hostname) {
top.location.href =window.location.href;
}
}
catch(e){
top.location.href = window.location.href;
}
< /script>
虽然,目前还无法判定具体效果如何,但至少测试的时候确实是跳转回“被嵌入网页的网址”了,上述代码只需要放置到网站的“
”就可以了,如果有缓存插件的,记得要部署好代码后清楚一下缓存哦,如果还有 CDN 的话,最好是“全站刷新”更新一下 CDN 的缓存,以便代码可以及时同步生效。转载请注明:汇站网 » 防止恶意框架嵌入网站的 JavaScript 代码