网站被镜像如何处理,镜像了怎么办?

何为镜像站点,有什么危害?
镜像网站是指:一个或多个域名不同、但内容完全相同的网站。 镜像网站的出现有可能是有意的,也有可能是无意的。有意的原因包括:软件资源网站给用户提供多个下载链接。 某些网站提供多个镜像,使负载均衡或使服务更稳定;黑帽SEO复制多个网站,意图获得更多排名; 整站被人复制抄袭也会造成镜像网站。

镜像网站通常会造成复制内容,搜索引擎并不喜欢,对原创内容网站或站长想排名的网站可能造成无法预知的影响。通俗的讲,恶意镜像者通过某些手段复制了你的站点,除了域名不一样之外,其他内容一模一样,用户根本无法分辨。甚至对于一些新的站点,搜索引擎可能无法分辨哪个才是真正的站点,对网站排名造成恶劣影响。

网站被镜像解决办法
网站被镜像后小梦查看了一下网络上关于这方面的解决办法,大体分为三种:1、百度站长平台投诉;2、屏蔽镜像网站服务器IP,禁止调用自己网站资源;3、添加挑战代码。

方法一:百度站长平台投诉

通过下面的渠道可以反馈问题

1.jubao.baidu.com

2.tousu.baidu.com

3.zhanzhang.baidu.com/feedback

但处理速度是根据对用户造成的伤害来界定处理优先级。

方法二:屏蔽镜像网站服务器IP

镜像网站看似一个完整的站点,其实每次用户访问网站的时候,程序还是调用的原网站的数据,所以我们可以屏蔽这个服务器的IP,禁止抓取我们的网站数据。如果是LINUX主机可以通过以下方法获取和屏蔽镜像网站服务器IP。

1)获取镜像网站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,如:https://www.kkdshu.com,然后网站根目录下会生成一个ip.txt的文件,打开复制里面的ip地址。

 

3)屏蔽镜像站点IP,打开.htaccess文件,加上如下代码

Linux下 规则文件.htaccess(没有可以手工创建.htaccess文件到站点根目录),自行修改红字中的IP地址

  1. <IfModule mod_rewrite.c>  
  2. RewriteEngine On  
  3. #Block ip  
  4. RewriteCond %{http:X-Forwarded-For}&%{REMOTE_ADDR} (188.129.143.73) [NC]  
  5. RewriteRule (.*) - [F]  
  6. </IfModule>  

然后再次访问或者刷新镜像网站,这时候就会出现403错误(禁止访问),现在就可以等着蜘蛛删除了

 

注:如果不知道如何获取和屏蔽镜像网站IP地址可以咨询主机商,他们也会帮助你解决。

优点:简单、易操作;

缺点:会有不同IP的镜像站点。

 

方法三:添加JS跳转代码

即通过JS判当前域名,如果不是本域名则跳转回本域名,自行修改代码中网址为自己的网站。

JS跳转代码方法一:直接在网站head下加入一段JS代码,就可以实现镜像站自动跳转到我们的主站,代码如下:

  1. <script type="text/javascript">if (document.location.protocol != "https:" && navigator.userAgent.indexOf("MSIE 6.0") < 0 ) { location.href = location.href.replace(/^http:/,"https:");}if (document.location.host != "www.kkdshu.com") { location.href = location.href.replace(document.location.host,'www.kkdshu.com');} </script>  

注:部分镜像站点会屏蔽JS代码,所以对有的镜像站点无效

 

JS跳转代码方法二:

镜像网站过滤掉JS代码甚至JS文件,那么我们需要加入代码混淆和触发事件,将下面代码中的地址改为自己的域名地址添加到主题目录header.php中适当位置即可。

  1. <script type="text/javascript">
  2. if(window["\x6c\x6f\x63\x61\x74\x69\x6f\x6e"]["\x68\x6f\x73\x74"] != 'www.kkdshu.com' && window["\x6c\x6f\x63\x61\x74\x69\x6f\x6e"]["\x68\x6f\x73\x74"] != 'd9y.net'){
  3.     alert('警告!检测到该网站为恶意镜像站点,将立即为您跳转到官方站点!');
  4.     window["\x6c\x6f\x63\x61\x74\x69\x6f\x6e"]["\x68\x72\x65\x66"] = 'http://'+'www.kkdshu.com/';
  5. }
  6. </script>
  7. <div style="display:none;">
  8. <script>nod9ynet = false;</script>
  9. <img src=" " onerror='setTimeout(function(){if(typeof(nod9ynet)=="undefined"){window["\x6c\x6f\x63\x61\x74\x69\x6f\x6e"]["\x68\x6f\x73\x74"]="www.kkdshu.com";}},3000);'>
  10. </div>

JS跳转代码方法三:

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

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

  1. add_action('wp_head','kimsom_reverse_proxy_defense', 99);
  2. function kimsom_reverse_proxy_defense(){
  3.     $currentDomain = '"www." + "kkdshu" + ".com"';
  4.     echo '<img style="display:none" id="inlojv-rpd" src=" " 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 .');}\'/>';
  5. }
posted @ 2019-06-10 18:44  qqbook  阅读(607)  评论(0编辑  收藏