今天有个客户问我网站被镜像的怎么办,那么今天就发一篇关于解决网站镜像的几种方法的文章,大家根据自己的情况选择适合自己的解决方法吧。
网站恶意镜像的介绍
恶意镜像,也叫恶意克隆,恶意解析,是指一些人利用域名的A记录解析,反向代理,以及一些小偷程序等手段,将被镜像的网站复制到另一个域名下。
镜像网站与被镜像的网站,在用户看来,除了域名不一样外,其网站的布局,内容,文字,图片等都一样,并且会随着被镜像网站的内容更新而更新。
网上有文章说,网站的采集与镜像是一样。其实这个说法是错误的,网站的采集与镜像在本质上是有区别的。
采集的网站一般是提前抓取别人网站的内容,放入自己数据库,再用程序调用到页面上。
镜像网站并不事先抓取内容,而是有人访问网站时,实时从被镜像的网站调取内容,并替换内容中的个别文字,或着加入一些SEO的关键字等,然后实时显示。被镜像的网站有任何更新,镜像网站是实时同步的。
网站恶意镜像的危害
1、网站恶意镜像一般都是针对的一些权重不高的小站,新站。其会让搜索引擎认为你的网站不是原版,镜像网站才是,所以把排名、流量给了镜像网站。
2、镜像的网站,会通过一些其它的技术手段,在内容中添加一些 XX 内容等来引导访客的访问,或是利用JS直接将网站跳转到其它站点上去,导致流量被劫持。
网站被镜像的解决方法
JS解决防止网站镜像
JS代码
<script> //将代码中的网址,替换成自己的 if (window.location.host.search('feiniaomy.com') == -1) { window.location.href = 'https://www.feiniaomy.com'; } </script>
以上代码很容易被镜像网站的操作者发觉,所以我们可以把JS代码利用一些工具混淆一下
混淆后的JS代码
<script> if (window['\x6c\x6f\x63\x61\x74\x69\x6f\x6e']['\x68\x6f\x73\x74']['\x73\x65\x61\x72\x63\x68']('\x66\x65\x69\x6e\x69\x61\x6f\x6d\x79\x2e\x63\x6f\x6d') == -1) { window['\x6c\x6f\x63\x61\x74\x69\x6f\x6e']['\x68\x72\x65\x66'] = '\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x66\x65\x69\x6e\x69\x61\x6f\x6d\x79\x2e\x63\x6f\x6d' } </script>
屏蔽镜像网站服务器IP地址
镜像网站看似一个完整的站点,其实每次用户访问镜像网站的时候,镜像网站还是会抓取调用被镜像网站的数据,所以我们可以屏蔽被镜像网站服务器的IP,来禁止抓取我们的网站的数据。
第一步:获取镜像网站的服务器IP
1、、把以下代码保存成 ip.php 文件,并放到网站的根目录下
<?php // $ip = $_SERVER['REMOTE_ADDR']; @file_put_contents('ip.txt',$ip); ?>
2、使用镜像网站的网址访问此文件,
http://镜像网站的网址/ip.php
3、打开网站根目录下的"ip.txt"文件,就能得到镜像网站的ip地址啦
第二步:屏蔽镜像网站的服务器IP
1、apache 服务器可以通过修改 .htaccess 文件来实现
将以下代码,添加到 .htaccess 文件中即可,如果没有 .htaccess 文件请自定创建,
Order Deny, Allow Deny from 127.0.0.1
127.0.0.1:为要屏蔽的IP地址,多个IP地址可以用空格隔开
2、nginx 服务器可以修改 nginx.conf 来禁止IP的访问
nginx 安装目录,conf文件夹,找到nginx.conf 文件,并编辑
在 http{} 和 server{} 分别加入以下代码
deny 127.0.0.1; deny 192.0.0.1;
以上的IP地址,为要屏蔽的访问者IP地址
PS:如果你使用的 zblog 建站程序,可以下载我的 墨初网站禁止访问插件 插件在屏蔽掉指定的IP哦
HTML代码方案防止镜像
如果镜像网站屏蔽掉了被镜像网站的js代码,那么我们可以使用html代码来解决,利用 img 的 onerror 事件
方法1:
<img style="display:none" src=" " onerror='this.onerror=null;var hosturl="feiniaomy." + "com"; var str1=hosturl; str2="docu"+"ment.loca"+"tion.host"; str3=eval(str2) ;if( str1!=str3 && str3!="cache.baiducontent.com" && str3!="webcache.googleusercontent.com" && str3!="c.360webcache.com" && str3!="cncc.bingj.com" && str3!="snapshot.sogoucdn.com" ){ do_action = "loca" + "tion." + "href = loca" + "tion.href" + ".rep" + "lace(docu" +"ment"+".loca"+"tion.ho"+"st," + "hosturl" + ")";eval(do_action) }' />
将上面代码中的
hosturl="feiniaomy." + "com";
改成自己域名,比如百度的
hosturl="www."+"baidu" + ".com";
方法2:
<img style="display:none" src=" " onerror="if (window.location.host.search('feiniaomy.com') == -1) {window.location.href = 'https://www.feiniaomy.com';}" />
将代码中的网址,替换成自己的即可使用。
注意:方法2 可以会对搜索引擎的快照造成干扰,请谨慎使用
到此这篇关于网站被恶意镜像后的如何解决办法就介绍到这了。烈火燃烧青春的血,冰水冻结年轻的骨,让新一代因残酷而傲立,因绚烂而精明,因瑰丽而传奇。更多相关网站被恶意镜像后的如何解决办法内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!