利用JS代码有效防止网站被镜像的方法

  • A+
所属分类:福利资讯

前段时间曾在《短文》一文中说了一下镜像的问题,没想到博友们的响应很快,马上就研究出了防止镜像的方法,原谅我手短只会搬砖。

今天测试了一下各大主流网站,其中京东、360、爱奇艺、苏宁易购、艺龙网、4399、招商银行等都存在被镜像的问题,这就不难理解像我们这种小站被镜像了。

利用JS代码有效防止网站被镜像的方法

一、使用js防止镜像方法:

<script type="text/javascript">

rthost = window.location.host;

if (rthost != "www.reteng.org") {

top.location.href = "http://www.reteng.org";

}

</script>

这段js意思是rthost赋值主机的URL(window.location.host),如果rthost的值不等于(!= 不等于符号)www.reteng.org,网站在顶层页面打开http://www.reteng.org(跳出框架,代码:top.location.href = "http://www.reteng.org"),这个方法适合被镜像没有屏蔽js的。如果屏蔽了js怎么办?

http://www.reteng.org.lapaleo.com 屏蔽了 @热腾网 的所有js,但是加入网页中的禁止代码仍起作用,那可以判断它的屏蔽方法是去<script>的头尾和其中的代码,那就把js加入html中,使用条件运行就可以了。

使用img链接个空图片,使用onerror事件运行js的相关命令就可以了。

js被屏蔽后防止镜像方法:

<div style="display:none;">

<script>proxy2016 = false;</script>

<img src="" onerror='setTimeout(function(){if(typeof(proxy2016)=="undefined"){window.location.host="www.reteng.org";}},3000);'>

</div>

已经知道镜像网站过滤js的规则,所以<script>proxy2016 = false;</script> 代码将被过滤掉,img的onerror设置超时时间3000毫秒,将运行函数部分,检测是否还存在proxy2016字符,如果没有找到就会将主机的URL改为www.reteng.org;为了安全起见,将js部分可以使用js代码混淆(站长工具:http://tool.chinaz.com/tools/jscodeconfusion.aspx)。

 

热腾网的两处js混淆代码为:

<script type="text/javascript">

rthost = window["x6cx6fx63x61x74x69x6fx6e"]["x68x6fx73x74"];if (rthost != "x77x77x77x2ex72x65x74x65x6ex67x2ex6fx72x67") { window["x6cx6fx63x61x74x69x6fx6e"]["x68x72x65x66"] = "x68x74x74x70x3ax2fx2fx77x77x77x2ex72x65x74x65x6ex67x2ex6fx72x67";}

</script>

<div style="display:none;">

<script>proxy2016 = false;</script>

<img src="" onerror='setTimeout(function(){if(typeof(proxy2016)=="undefined"){window["x6cx6fx63x61x74x69x6fx6e"]["x68x6fx73x74"]="x77x77x77x2ex72x65x74x65x6ex67x2ex6fx72x67";}},3000);'>

</div>

我们只需要将以上代码添加到主题目录的header.php文件适当位置即可(PS:记得修改为自己域名哦,不然没效果)。

二、屏蔽恶意镜像站抓取网站内容的UA

根据抓取服务器日志分析得知lapaleo.com此镜像站UA为"PHP/5.4.45"

那么通过.htaccess将此UA屏蔽掉即可(此方法有效)!

# 屏蔽恶意UA

RewriteCond %{HTTP_USER_AGENT} "PHP/5.4.45"

RewriteRule ^(.*)$ http://www.d9y.net

将上面代码中加到.htaccess中即可。

三、屏蔽镜像站IP

根据抓取服务器日志分析可抓取镜像站的IP地址(关闭CDN情况下)

再通过.htaccess将镜像站IP屏蔽掉即可(此方法有效)!

如果开启了CDN,则需要将下面三个IP地址加入CDN黑名单!

 

# 屏蔽恶意IP

Order Allow,Deny

Allow from all

Deny from xxx.x.xxx.xx

将上面代码中加到.htaccess中即可。

 

上面三个IP地址为镜像站的IP地址(其中某镜像IP地址会隔段时间改变)

PS:修改前注意先备份文件,特别是.htaccess文件。

方法很简单,懒的呢,可以屏蔽IP。想要长久有效还是加一下代码。虽是个人博客,平时看见有人转载文章不注明版权都不舒服,更何况全站复制呢?

 

文章改编源自:boke112导航、第9页、热腾网

 

 

腾讯云赞助
avatar
优惠券商城

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: