什么是恶意镜像?
恶意镜像,也叫恶意克隆,恶意解析,是指有人通过域名A记录直接解析别人IP地址,从而得到一个在访问者眼中完全相同网站的过程。其工作原理基本上是这样子的:有用户访问镜像站点时,程序就会来正版的站点查询数据,并修改相关链接然后呈献给用户,实质上还是在读取原站的数据。
网站被恶意镜像对有什么影响?
恶意镜像者意图通过自己有一定权重的域名进行威压,让搜索引擎对刚刚成立的网站产生迷惑,对同时存在和解析的两个域名分不清真假,不知如何抉择。有的搜索引擎技术比较成熟,可以分清真假,但是也有部分搜索引擎傻傻地分不清楚,有可能会选择恶意者的域名,同时删去原站长的域名。
至于恶意者得手之后会做些什么?我们无法推测,但是无论如何都不会是对我们有利的。千万不要因为镜像网站给我们带来的一些流量而庆幸,因为带来流量的同时也会带走你的用户,在搜索引擎迷惑的同时,用户也会无所适从,不知道哪个是真,哪个是假。如果恶意者域名或者其它部分含有敏感不健康的信息,也可能会导致受害者IP被封掉。
如何查看自己的网站是否被别人镜像?
百度搜索关键词结果中可以看出,有几个跟我们站点标题一模一样的,但是域名却不是我们的,说明已经被恶意镜像了。
网站被恶意镜像怎么办?
网络上已经有很多大神分享了如何防止网站被恶意镜像的办法,现在就推荐几种boke112测试真正有效的防镜像方法,具体选择哪种方法就请大家根据自己的情况自由选择吧。
方法一:通过禁止某些php特征防恶意镜像
1、PHP通用版
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代码判断主域。如果主域不是本域名则跳转回本域名。
在网站标签之前中添加JS判断代码,代码如下:
如果以上方法都无效,请继续往下看
一、JS跳转法(通用法一)
即通过JS判断当前域名,如果不是本域名则跳转回本域名。但镜像网站都会过滤掉JS代码甚至JS文件,那么我们需要加入代码混淆和触发事件。
将下面代码中的地址改为自己的域名地址添加到主题目录header.php中适当位置即可(此方法有效)!
上述代码为两段代码组合而成,相辅相承,配合使用来防止不同技术处理的镜像站。
PS:感谢热腾博主的指点,上面代码中的JS触发事件来源于热腾网!
此方法优点:简单、通用。
缺点:代码必须混淆。
二、JS跳转法(通用法二)
同方法一,利用拆分法将代码拆分,不需要再对代码进行混淆。
将下面代码中的地址改为自己的域名地址添加到主题目录header.php中适当位置即可(此方法有效)!
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某些特征防止镜像失效的情况下,还可以通过借助img的oneerror事件防恶意镜像。最后强调一下,这些方法目前都是有效的,但是正所谓“道高一尺魔高一丈”,谁也无法保证这些方法能够长期有效。所以最有效的方法还是努力经营好自己的网站,把权重、流量、名气做上去,这样才能达成“一直被模仿,但从未被超越”的目标,到那时也就不怕什么恶意镜像了。
拓展延伸:
如果想通过禁止某些User Agent特征,同时达成防主流采集、垃圾爬虫、部分SQL注入和防网站被恶意镜像,可以通过以下方法实现。
PS:以下三个方法是上文“通过禁止某些User Agent特征防恶意镜像”的拓展延伸,所以只能二选一,不能同时使用。
本文由 芒果雪花汁 发布
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Feb 25, 2020 at 07:04 pm