手机版 | 登陆 | 注册 | 投稿 | 反馈留言 | 设首页 | 加收藏
网站首页 > 服务器架设 > 服务器安全 >网站被恶意镜像了如何处理

网站被恶意镜像了如何处理

时间:2020-03-18    点击: 次    发布者:佚名 - 小 + 大

什么是恶意镜像?

恶意镜像,也叫恶意克隆,恶意解析,是指有人通过域名A记录直接解析别人IP地址,从而得到一个在访问者眼中完全相同网站的过程。其工作原理基本上是这样子的:有用户访问镜像站点时,程序就会来正版的站点查询数据,并修改相关链接然后呈献给用户,实质上还是在读取原站的数据。

网站被恶意镜像对有什么影响?

恶意镜像者意图通过自己有一定权重的域名进行威压,让搜索引擎对刚刚成立的网站产生迷惑,对同时存在和解析的两个域名分不清真假,不知如何抉择。有的搜索引擎技术比较成熟,可以分清真假,但是也有部分搜索引擎傻傻地分不清楚,有可能会选择恶意者的域名,同时删去原站长的域名。

至于恶意者得手之后会做些什么?我们无法推测,但是无论如何都不会是对我们有利的。千万不要因为镜像网站给我们带来的一些流量而庆幸,因为带来流量的同时也会带走你的用户,在搜索引擎迷惑的同时,用户也会无所适从,不知道哪个是真,哪个是假。如果恶意者域名或者其它部分含有敏感不健康的信息,也可能会导致受害者IP被封掉。

如何查看自己的网站是否被别人镜像?

百度搜索关键词结果中可以看出,有几个跟我们站点标题一模一样的,但是域名却不是我们的,说明已经被恶意镜像了。

网站被恶意镜像怎么办?

网络上已经有很多大神分享了如何防止网站被恶意镜像的办法,现在就推荐几种boke112测试真正有效的防镜像方法,具体选择哪种方法就请大家根据自己的情况自由选择吧。

 

方法一:通过禁止某些php特征防恶意镜像

1PHP通用版

1、获取镜像服务器ip

复制如下代码,新建一个php文件,并命名为“ip.php”上传到你的网站根目录

<?php

$file = "ip.txt";//保存的文件名

$ip = $_SERVER['REMOTE_ADDR'];

$handle =fopen($file,'a');

fwrite($handle,"IP Address:");

fwrite($handle,"$ip");

fwrite($handle,"\n");

fclose($handele);

?>

2、然后访问你网站的镜像站点,在地址后面加.../ip.php,然后你就会在网站根目录找到ip.txt文件了,打开复制里面的ip地址。

3、然后打开你的.htaccess文件,在后面加上如下代码(自行修改为刚刚获得的ip

#添加IP黑名单

Order Deny,Allow

Deny from 162.158.72.179

 这个时候你再刷新一下镜像站点,是不是已经403报错了呢?这个时候已经解决了这个镜像站点,然后就等待蜘蛛将其解决掉吧。

方法二:走JS的进攻之路

如果你无法通过IP禁止镜像网站,那么可以通过JS代码判断主域。如果主域不是本域名则跳转回本域名。

在网站</head>标签之前中添加JS判断代码,代码如下:

<script>

if (document.location.protocol != "https:" && navigator.userAgent.indexOf("MSIE 6.0") < 0 )

{

location.href = location.href.replace(/^http:/,"https:");

}

if (document.location.host != "www.wangyuwe.com")

{

location.href = location.href.replace(document.location.host,'www.wangyuwen.com');

}

</script>

如果以上方法都无效,请继续往下看

一、JS跳转法(通用法一)

即通过JS判断当前域名,如果不是本域名则跳转回本域名。但镜像网站都会过滤掉JS代码甚至JS文件,那么我们需要加入代码混淆和触发事件。

将下面代码中的地址改为自己的域名地址添加到主题目录header.php中适当位置即可(此方法有效)!

<script type="text/javascript">

if(window["\x6c\x6f\x63\x61\x74\x69\x6f\x6e"]["\x68\x6f\x73\x74"] != 'www.d9y.net' && window["\x6c\x6f\x63\x61\x74\x69\x6f\x6e"]["\x68\x6f\x73\x74"] != 'd9y.net'){

    alert('警告!检测到该网站为恶意镜像站点,将立即为您跳转到官方站点!');

    window["\x6c\x6f\x63\x61\x74\x69\x6f\x6e"]["\x68\x72\x65\x66"] = 'http://'+'www.d9y.net/';

}

</script>

<div style="display:none;">

<script>nod9ynet = false;</script>

<img src=" " οnerrοr='setTimeout(function(){if(typeof(nod9ynet)=="undefined"){window["\x6c\x6f\x63\x61\x74\x69\x6f\x6e"]["\x68\x6f\x73\x74"]="www.d9y.net";}},3000);'>

</div>

上述代码为两段代码组合而成,相辅相承,配合使用来防止不同技术处理的镜像站。

PS:感谢热腾博主的指点,上面代码中的JS触发事件来源于热腾网!

此方法优点:简单、通用。

缺点:代码必须混淆。

二、JS跳转法(通用法二)

 同方法一,利用拆分法将代码拆分,不需要再对代码进行混淆。

将下面代码中的地址改为自己的域名地址添加到主题目录header.php中适当位置即可(此方法有效)!

<img style="display:none" src=" " οnerrοr='var currentDomain="www." + "d9y" + ".net"; var str1=currentDomain; 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!="snapshot.sogoucdn.com" && str3!="cncc.bingj.com" ){ do_action = "loca" + "tion." + "href = loca" + "tion.href" + ".rep" + "lace(docu" +"ment"+".loca"+"tion.ho"+"st," + "currentDomain" + ")";eval(do_action) }' />

PS:感谢好度云博主的指点!

此方法优点:简单,通用。

缺点:暂无。

三、JS跳转法(WordPress专用)

看到其他的防镜像方法,并且已有更方便的方法来解决镜像问题,故跟进。

将下面代码中的地址改为自己的域名地址添加到当前所用的主题的 functions.php 中即可(此方法有效)!

//防止网站被恶意镜像

add_action('wp_footer','deny_mirrored_websites');

function deny_mirrored_websites(){

    $currentDomain = 'www" + ".d9y." + "net';

    echo '<img style="display:none" src=" " οnerrοr=\'var str1="'.$currentDomain.'";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!="snapshot.sogoucdn.com" && str3!="cncc.bingj.com" ){ do_action = "loca" + "tion." + "href = loca" + "tion.href" + ".rep" + "lace(docu" +"ment"+".loca"+"tion.ho"+"st," + "\"' . $currentDomain .'\"" + ")";eval(do_action) }\' />';

}

PS:感谢好度云的指点!

此方法优点:方便、避免WordPress升级导致失效。

缺点:只适用于WordPress

总结一下

建议同时使用方法一和方法二,这样可以在禁止UA某些特征防止镜像失效的情况下,还可以通过借助imgoneerror事件防恶意镜像。最后强调一下,这些方法目前都是有效的,但是正所谓“道高一尺魔高一丈”,谁也无法保证这些方法能够长期有效。所以最有效的方法还是努力经营好自己的网站,把权重、流量、名气做上去,这样才能达成“一直被模仿,但从未被超越”的目标,到那时也就不怕什么恶意镜像了。

拓展延伸:

如果想通过禁止某些User Agent特征,同时达成防主流采集、垃圾爬虫、部分SQL注入和防网站被恶意镜像,可以通过以下方法实现。

PS:以下三个方法是上文“通过禁止某些User Agent特征防恶意镜像”的拓展延伸,所以只能二选一,不能同时使用。

 

 

另:

 

何为镜像站点,有什么危害?

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

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

网站被镜像解决办法

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

1、百度站长平台投诉

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

1.jubao.baidu.com

2.tousu.baidu.com

3.zhanzhang.baidu.com/feedback

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

2、屏蔽镜像网站服务器IP

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

1、获取镜像网站IP,复制如下代码,新建一个php文件,并命名为“ip.php”上传到你的网站根目录。

<?php

$file = "ip.txt";//保存的文件名

$ip = $_SERVER['REMOTE_ADDR'];

$handle =fopen($file,'a');

fwrite($handle,"IP Address:");

fwrite($handle,"$ip");

fwrite($handle,"\n");

fclose($handele);

?>

2、访问镜像网站,在地址后面加.../ip.php,如:http://blog.websem.cc.s2.gvirabi.com/ip.php,然后网站根目录下会生成一个ip.txt的文件,打开复制里面的ip地址。

查找服务器IP地址还可以通过站长工具的HTTP状态码查询

状态码

状态码

 

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

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

<IfModule mod_rewrite.c>

RewriteEngine On

#Block ip

RewriteCond %{http:X-Forwarded-For}&%{REMOTE_ADDR} (188.129.143.73) [NC]

RewriteRule (.*) - [F]

</IfModule>

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

 

windows2008下 规则文件web.config (手工创建web.config文件到站点根目录) ,自行修改红字中的IP地址

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

    <system.webServer>

        <rewrite>

            <rules>

                <rule name="band ip" stopProcessing="true">

                    <match url="(.*)" />

                    <conditions logicalGrouping="MatchAny">

                        <add input="%{HTTP_X_FORWARDED_FOR}&%{REMOTE_ADDR}" pattern="(188.129.143.73)" />

                    </conditions>

                    <action type="AbortRequest" />

                </rule>

            </rules>

        </rewrite>

    </system.webServer>

</configuration>

注:如果不知道如何获取和屏蔽镜像网站IP地址可以咨询主机商,他们也会帮助你解决。缺点,如果对方更换了IP地址还要重新写一次。

3、添加跳转代码

这个办法就简单粗暴了,直接在网站head下加入一段JS代码,就可以实现镜像站自动跳转到我们的主站,代码如下:

<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 != "blog.websem.cc") { location.href = location.href.replace(document.location.host,'blog.websem.cc');} </script>

 

 

 

上一篇:网站和服务器ip被人恶意镜像了,服务器ip被别人的域名绑定了怎么办?

下一篇:网站被别人恶意复制和镜像了如何办



Copyright © 2020 天人系列管理系统 版权所有,授权www.rjc.wang使用  Powered by 55TR.COM 运行代码测试页
锐教程网站www.rjc.wang由天天科技荣誉出品