找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6747|回复: 10

[普通] 网站被恶意镜像怎么办 一段代码轻松搞定(全面版)

[复制链接]
发表于 2016-9-12 10:00:48 | 显示全部楼层 |阅读模式 来自 河南省
有时候你会发现,你在搜索引擎输入网站名称的时候,出来的网站信息是你们的,但是域名却是一个陌生的,这种情况可以基本确定网站被镜像了,那么究竟什么叫网站被镜像?

严谨一点的解释:通过复制整个网站或部分网页内容并分配以不同域名和服务器,以此欺骗搜索引擎对同一站点或同一页面进行多次索引的行为 。

网站被镜像的危害

通俗的讲,恶意镜像者意图利用自己有一定权重的域名进行威压,通过某些手段复制了你的站点,除了域名不一样之外,其他内容一模一样,用户或许根本无法分辨。甚至对于一些新的站点,搜索引擎都会迷惑到底哪个是真的站点,那么就有可能正牌的网站被删除收录,而盗版的却被搜索引擎青睐。

虽然目前我们还不知道恶意镜像我们的网站到底有什么意图,但肯定对我们没什么好处,如果他这个域名有点什么不健康的信息,那么我们被镜像的站点有可能被污染掉,所以还是要警惕这个现象。

如何知道自己的网站是否被镜像

复制自己网站的标题,然后在谷歌和百度里搜索网站标题,如果有其他网站的网站标题、描述及网站内容跟你的一样,只有域名不一样,那就是被镜像了。

如何处理网站被镜像

这类镜像看似一个完整的站点,其实上是每次用户访问镜像站点,程序就会来正版的站点查询数据,并修改相关链接然后呈献给用户。实质上还是在读取原站的数据。以下有几种方法来解决,大家自行取舍使用!

方法1:查清镜像网站的主机Ip,通过禁止Ip来解决

1、获取镜像服务器ip。注:这个IP不是ping到他域名的IP

复制如下代码,新建一个php文件,并命名为“ip.php”上传到你的网站根目录。
  1. <?php
  2. $file = "ip.txt"; //保存的文件名
  3. $ip = $_SERVER['REMOTE_ADDR'];
  4. $handle = fopen($file, 'a');
  5. fwrite($handle, "IP Address:");
  6. fwrite($handle, "$ip");
  7. fwrite($handle, "\n");
  8. fclose($handele);
  9. ?>
复制代码
2、然后访问你网站的镜像站点,在地址后面加.../ip.php,然后你就会在网站根目录找到ip.txt文件了,打开复制里面的ip地址。

3、然后打开你的.htaccess文件,在后面加上如下代码(自行修改为刚刚获得的ip)
  1. #添加IP黑名单
  2. Order Deny,Allow
  3. Deny from 162.158.72.179
复制代码
当然,如果你使用CDN,可以直接在CDN后台添加ip黑名单

这个时候你再刷新一下镜像站点,是不是已经403报错了呢?这个时候已经解决了这个镜像站点,然后就等待蜘蛛将其解决掉吧。
此方法的缺点就是如果镜像网站更换了ip,那我们的屏蔽就失败了

方法2:

在头部标签:
<head></head>

里加上下面的JS代码:
  1. <script type="text/javascript">
  2. if (document.location.host != "www.ilxtx.com") {
  3. location.href = location.href.replace(document.location.host,'www.ilxtx.com');
  4. }
  5. </script>
复制代码
或加上以下的JS代码:
  1. <script type="text/javascript">
  2. rthost = window.location.host;
  3. if (rthost != "www.ilxtx.com") {
  4. top.location.href = "http://www.ilxtx.com";
  5. }
  6. </script>
复制代码
注意:将上面代码中的www.ilxtx.com改为你网站的首页主地址,如果我上面填写的不是我网站的主地址 www.ilxtx.com,而是 ilxtx.com 的话,就会导致网站一直刷新!

注:经过本站测试,如果镜像站屏蔽了JS,则该方法失效。

方法3:Js被屏蔽后防止镜像的方法

将以下代码加到网站的header.php中:
  1. <div style="display:none;">
  2. <script>proxy2016 = false;</script>
  3. <img src="" onerror='setTimeout(function(){if(typeof(proxy2016)=="undefined"){window.location.host="www.ilxtx.com";}},3000);'>
  4. </div>
复制代码
有些网站会屏蔽掉JS代码(如下面的代码) :
  1. <script>...</script>
复制代码
所以 代码将被过滤掉,img的onerror设置超时时间3000毫秒,将运行函数部分,检测是否还存在proxy2016字符,如果没有找到就会将主机的URL改为www.ilxtx.com;为了安全起见,将js部分可以使用js代码混淆(本站“JS代码混淆” 工具 或 站长之家JS混淆工具)。

本站的混淆结果如下:
  1. <div style="display:none;">
  2. <script>proxy2016 = false;</script>
  3. <img src=" " onerror='setTimeout(function(){if(typeof(proxy2016)=="undefined"){window["\x6c\x6f\x63\x61\x74\x69\x6f\x6e"]["\x68\x6f\x73\x74"]="\x77\x77\x77\x2e\x69\x6c\x78\x74\x78\x2e\x63\x6f\x6d";}},3000);'>
  4. </div>
复制代码
经过我的测试,此代码在Chrome、IE11和360极速浏览器上均有效,会跳转到源站的原文章页!在Firefox上则无效果,镜像的文章页并不会跳转到原站...... 将代码中img标签的src引用地址改为空格或无效的图片地址后,在Firefox上也起作用了!

方法4:

通过拆分域名链接与镜像站比对,然后用img标签src空值触发onerror来执行js比对,比对失败则跳转回源站。

代码如下:(复制粘贴到主题的functions.php最后一个?>之前)

经过 @张戈 童学的不断改进(IE不支持 window.stop() 函数,所以“20160909版本”失效...),已经完美的适配Firefox、Chrome、IE11和360极速浏览器,而且可以跳转至源站的相应文章页,在此衷表感谢!下面3段任选一个即可。
  1. /**
  2. * 网站被恶意镜像怎么办 一段代码轻松搞定(全面版) - 龙笑天下
  3. * http://www.ilxtx.com/mirrored-website.html
  4. * 出自:zhangge.net
  5. */
  6. add_action('wp_head','deny_mirrored_websites');
  7. function deny_mirrored_websites(){
  8.     $currentDomain = 'www" + ".ilxtx." + "com';
  9.     //  $currentDomain = 'zhangge" + "." + "net';
  10.     echo '<img style="display:none" src="nothing" onerror=\'var str1="'.$currentDomain.'";str2="docu"+"ment.loca"+"tion.host";str3=eval(str2);if( str1!=str3 ){ do_action = "loca" + "tion." + "href = loca" + "tion.href" + ".rep" + "lace(docu" +"ment"+".loca"+"tion.ho"+"st," + ""' . $currentDomain .'"" + ")";eval(do_action) }\' />';
  11. }
复制代码
  1. /**
  2. * 网站被恶意镜像怎么办 一段代码轻松搞定(全面版) - 龙笑天下
  3. * http://www.ilxtx.com/mirrored-website.html
  4. * 出自:zhangge.net
  5. */
  6. add_action('wp_head','deny_mirrored_websites');
  7. function deny_mirrored_websites(){
  8.     $currentDomain = "www' + '.ilxtx.' + 'com";
  9.     //  $currentDomain = "zhangge' + '.' + 'net";
  10.     echo '<img style="display:none" src="nothing" onerror="var str1=\''.$currentDomain.'\';str2=\'docu\'+\'ment.loca\'+\'tion.host\';str3=eval(str2);if( str1!=str3 ){ do_action = \'loca\' + \'tion.\' + \'href = loca\' + \'tion.href\' + \'.rep\' + \'lace(docu\' +\'ment\'+\'.loca\'+\'tion.ho\'+\'st,\' + \'\\\'' . $currentDomain .'\\\'\' + \')\';eval(do_action) }" />';
复制代码
  1. /**
  2. * 网站被恶意镜像怎么办 一段代码轻松搞定(全面版) - 龙笑天下
  3. * http://www.ilxtx.com/mirrored-website.html
  4. * zhangge.net修改
  5. */
  6. add_action('wp_head','kimsom_reverse_proxy_defense', 99);
  7. function kimsom_reverse_proxy_defense(){
  8.     $currentDomain = '"www." + "ilxtx" + ".com"';
  9.     echo '<img style="display:none" id="inlojv-rpd" src="nothing" data-url="'.home_url().'" onerror=\'var str0=document.getElementById("inlojv-rpd").attributes.getNamedItem("data-url").nodeValue;var ishttps="https:"==document.location.protocol?true:false;if(ishttps){var str1="https"+"://";}else{var str1="http"+"://";}var str2='.$currentDomain.';var str3=str1+str2;if( str0!=str3 ){location.href = location.href.replace(document.location.host,'. $currentDomain .');}\'/>';
复制代码
Tips:如果想像“20160909版本”一样有个提示语,可将上面这段代码改为此
  1. add_action('wp_head','kimsom_reverse_proxy_defense', 99);
  2. function kimsom_reverse_proxy_defense(){
  3.     $currentDomain = '"www." + "ilxtx" + ".com"';
  4.     echo '<img style="display:none" id="inlojv-rpd" src="nothing" data-url="'.home_url().'" onerror=\'var str0=document.getElementById("inlojv-rpd").attributes.getNamedItem("data-url").nodeValue;var ishttps="https:"==document.location.protocol?true:false;if(ishttps){var str1="https"+"://";}else{var str1="http"+"://";}var str2='.$currentDomain.';var str3=str1+str2;if( str0!=str3 ){alert("\u8b66\u544a\uff01\u68c0\u6d4b\u5230\u8be5\u7f51\u7ad9\u4e3a\u6076\u610f\u955c\u50cf\u7ad9\u70b9\uff0c\u5c06\u7acb\u5373\u4e3a\u60a8\u8df3\u8f6c\u5230\u5b98\u65b9\u7ad9\u70b9\uff01");location.href = location.href.replace(document.location.host,'. $currentDomain .');}\'/>';
  5. }
复制代码
20160909版本
  1. /**
  2. * 网站被恶意镜像怎么办 一段代码轻松搞定(全面版) - 龙笑天下
  3. * http://www.ilxtx.com/mirrored-website.html
  4. */
  5. add_action('wp_footer','kimsom_reverse_proxy_defense');
  6. function kimsom_reverse_proxy_defense(){
  7. $domain_arr = explode('//',home_url());
  8. $domain = $domain_arr[1];
  9.     echo '<img style="display:none" id="inlojv-rpd" src="nothing" data-url="'.home_url().'" onerror="var str0=document.getElementById(\'inlojv-rpd\').attributes.getNamedItem(\'data-url\').nodeValue;var ishttps=\'https:\'==document.location.protocol?true:false;if(ishttps){var str1=\'https\'+\'://\';}else{var str1=\'http\'+\'://\';}var str2=\''.$domain.'\';var str3=str1+str2;if( str0!=str3 ){alert(\'\u8b66\u544a\uff01\u68c0\u6d4b\u5230\u8be5\u7f51\u7ad9\u4e3a\u6076\u610f\u955c\u50cf\u7ad9\u70b9\uff0c\u5c06\u7acb\u5373\u4e3a\u60a8\u8df3\u8f6c\u5230\u5b98\u65b9\u7ad9\u70b9\uff01\');if (!!(window.attachEvent && !window.opera)){document.execCommand(\'stop\');}else{ window.stop();}var str4=\'wind\'+\'ow.loca\'+\'tion.rep\'+\'lace(str3)\';eval(str4);}">';
  10. }
复制代码
添加以上代码之后,再打开镜像站就会弹出提示:“警告!检测到该网站为恶意镜像站点,将立即为您跳转到官方站点!”,并在关闭或确定此提示后直接跳转到被镜像的网站。经过本站测试,本方法防止网站被镜像目前有效
此方法在IE11上,会弹出提示框,但点击“确定”按钮后,网页并不会跳转。。。Firefox、Chrome和360极速浏览器上则没此问题!

本站目前发现的恶意镜像域名

dijicat.com
lapaleo.com
disauvi.com
3s3s.org
ytlqpo.com
s3.gvirabi.com

更多镜像网站等你提供~

在这些域名前面加上你们自己的的域名,看看有没有被恶意镜像。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2016-11-26 17:04:18 | 显示全部楼层 来自 湖南省长沙市
留个言。咔拉宝宝

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

发表于 2016-12-6 18:30:13 | 显示全部楼层 来自 四川省成都市
完全是技术帖啊,学习了,将来有用得着的地方,赞

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

发表于 2016-12-25 23:31:33 | 显示全部楼层 来自 山东省枣庄市
又学习了,我现在刚试着做了个网站,刚放网上,就是搜索不到。。正郁闷呢

点评

需要等一段时间的  详情 回复 发表于 2016-12-26 08:51

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-26 08:51:56 | 显示全部楼层 来自 河南省新乡市
zhangzhen5577 发表于 2016-12-25 23:31
又学习了,我现在刚试着做了个网站,刚放网上,就是搜索不到。。正郁闷呢

需要等一段时间的

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

发表于 2017-3-2 17:07:10 | 显示全部楼层 来自 北京市
站长!管理员!各位版主大大!
用了方法2直接把菠菜站跳转到我们公司官网了救命!!!!

点评

你这和方法2没关系  详情 回复 发表于 2017-3-2 17:34

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-2 17:34:25 | 显示全部楼层 来自 河南省新乡市
shopjsp 发表于 2017-3-2 17:07
站长!管理员!各位版主大大!
用了方法2直接把菠菜站跳转到我们公司官网了救命!!!!

你这和方法2没关系

点评

额~抱歉,表达不当请见谅~应该是删完了啊,是直接撤回的 所以不知道问题出在哪儿  详情 回复 发表于 2017-3-2 17:43

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

发表于 2017-3-2 17:43:54 | 显示全部楼层 来自 北京市
天外飘仙 发表于 2017-3-2 17:34
你这和方法2没关系

额~抱歉,表达不当请见谅~应该是删完了啊,是直接撤回的 所以不知道问题出在哪儿

点评

抱歉,请直接开新帖求助;这里只回复被镜像类的问题  详情 回复 发表于 2017-3-2 19:14

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-2 19:14:27 | 显示全部楼层 来自 河南省新乡市
shopjsp 发表于 2017-3-2 17:43
额~抱歉,表达不当请见谅~应该是删完了啊,是直接撤回的 所以不知道问题出在哪儿

抱歉,请直接开新帖求助;这里只回复被镜像类的问题

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

发表于 2017-3-10 13:58:05 | 显示全部楼层 来自 上海市
冬瓜的做法

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-4-20 07:19 , Processed in 0.054726 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表