网站被恶意镜像怎么办 一段代码轻松搞定(全面版)
发布时间:2018-09-15 18:25:52 作者:admin 点击:
有时候你会发现,你在搜索引擎输入网站名称的时候,出来的网站信息是你们的,但是域名却是一个陌生的,这种情况可以基本确定网站被镜像了,那么究竟什么叫网站被镜像?
恶意镜像,也叫恶意克隆,恶意解析,是指有人通过域名 A 记录直接解析别人 IP 地址,从而得到一个在访问者眼中完全相同网站的过程。其工作原理基本上是这样子的:有用户访问镜像站点时,程序就会来正版的站点查询数据,并修改相关链接然后呈献给用户,实质上还是在读取原站的数据。严谨一点的解释:通过复制整个网站或部分网页内容并分配以不同域名和服务器,以此欺骗搜索引擎对同一站点或同一页面进行多次索引的行为 。
网站被镜像的危害
通俗的讲,恶意镜像者意图利用自己有一定权重的域名进行威压,通过某些手段复制了你的站点,除了域名不一样之外,其他内容一模一样,用户或许根本无法分辨。甚至对于一些新的站点,搜索引擎都会迷惑到底哪个是真的站点,那么就有可能正牌的网站被删除收录,而盗版的却被搜索引擎青睐。
虽然目前我们还不知道恶意镜像我们的网站到底有什么意图,但肯定对我们没什么好处,如果他这个域名有点什么不健康的信息,那么我们被镜像的站点有可能被污染掉,所以还是要警惕这个现象。
如何知道自己的网站是否被镜像
复制自己网站的完整标题(PS:查看自己站点首页源码),然后在谷歌和百度等搜索引擎里搜索,如搜索:网站建设,如果有其他网站的网站标题、描述及网站内容跟你的一样,只有域名不一样,那就是被镜像了。
如何处理网站被镜像
这类镜像看似一个完整的站点,其实上是每次用户访问镜像站点,程序就会来正版的站点查询数据,并修改相关链接然后呈献给用户。实质上还是在读取原站的数据。以下龙笑天下就列举几种解决方法,大家自行取舍使用!
方法 1:查清镜像网站的主机 Ip,通过禁止 Ip 来解决
本教程基于 WordPress 程序,其他系统请自测!
1、获取镜像服务器 ip。注:这个 IP 可能不是 ping 到他域名的 IP
复制如下代码,新建一个 php 文件,并命名为“ip.php”上传到你的网站根目录。
3、然后打开你的.htaccess 文件,在后面加上如下代码(自行修改为刚刚获得的 ip)
这个时候你再刷新一下镜像站点,是不是已经 403 报错了呢?这个时候已经解决了这个镜像站点,然后就等待蜘蛛将其解决掉吧。
此方法的缺点就是如果镜像网站更换了 ip,那我们的屏蔽就失败了
方法 2:JS 来防护
在头部标签:取自 @boke112 导航
<head></head>
里加上下面的 JS 代码:
注意:将上面代码中的www.pweb123.com改为你网站的首页主地址,如果我上面填写的不是我网站的主地址 www.pweb123.com,而是 pweb.com 的话,就会导致网站一直刷新!
注:经过本站测试,如果镜像站屏蔽了 JS,则该方法失效。所以,最好把方法 2 和方法 3 结合使用!
(注意:以上方法感觉并不严严谨,js代码需要稍作修改,改成如下:)
将以下代码加到网站的 header.php 中:代码取自 @boke112
经过我的测试,此代码在 Chrome、IE11 和 360 极速浏览器上均有效,会跳转到源站的原文章页!在 Firefox 上则无效果,镜像的文章页并不会跳转到原站...... 将代码中 img 标签的 src 引用地址改为空格或无效的图片地址后,在 Firefox 上也起作用了!
方法 4:借助 Img 的 Onerror 事件
代码如下:
这种方法,可以有效防止js或者script代码被过滤,算是比较有效的一种方法。
方法 5:通过禁止某些 User Agent 特征来防
①、PHP 通用版:
将下面的代码贴到网站入口文件 index.php 中的第一个 <?php之后即可:
如果使用上面的 php 版本,WordPress 每次更新就会需要操作 index.php,比较麻烦,因此弄个专版。
将下面的代码贴到 functions.php 中的最后一个 ?>之前即可:
(1)appach下的防盗链设置:在根目录下创建.htaccess,里边添加内容:
(2)nginx防止盗链方法
(3)CDN的方式,现在的免费的cdn都可以设置防盗链已经添加ip黑名单的功能,效果还不错,如果不会代码,可以试试这个!
内容取自龙笑天下博客,做了部分修改和更正
恶意镜像,也叫恶意克隆,恶意解析,是指有人通过域名 A 记录直接解析别人 IP 地址,从而得到一个在访问者眼中完全相同网站的过程。其工作原理基本上是这样子的:有用户访问镜像站点时,程序就会来正版的站点查询数据,并修改相关链接然后呈献给用户,实质上还是在读取原站的数据。严谨一点的解释:通过复制整个网站或部分网页内容并分配以不同域名和服务器,以此欺骗搜索引擎对同一站点或同一页面进行多次索引的行为 。
网站被镜像的危害
通俗的讲,恶意镜像者意图利用自己有一定权重的域名进行威压,通过某些手段复制了你的站点,除了域名不一样之外,其他内容一模一样,用户或许根本无法分辨。甚至对于一些新的站点,搜索引擎都会迷惑到底哪个是真的站点,那么就有可能正牌的网站被删除收录,而盗版的却被搜索引擎青睐。
虽然目前我们还不知道恶意镜像我们的网站到底有什么意图,但肯定对我们没什么好处,如果他这个域名有点什么不健康的信息,那么我们被镜像的站点有可能被污染掉,所以还是要警惕这个现象。
如何知道自己的网站是否被镜像
复制自己网站的完整标题(PS:查看自己站点首页源码),然后在谷歌和百度等搜索引擎里搜索,如搜索:网站建设,如果有其他网站的网站标题、描述及网站内容跟你的一样,只有域名不一样,那就是被镜像了。
如何处理网站被镜像
这类镜像看似一个完整的站点,其实上是每次用户访问镜像站点,程序就会来正版的站点查询数据,并修改相关链接然后呈献给用户。实质上还是在读取原站的数据。以下龙笑天下就列举几种解决方法,大家自行取舍使用!
方法 1:查清镜像网站的主机 Ip,通过禁止 Ip 来解决
本教程基于 WordPress 程序,其他系统请自测!
1、获取镜像服务器 ip。注:这个 IP 可能不是 ping 到他域名的 IP
复制如下代码,新建一个 php 文件,并命名为“ip.php”上传到你的网站根目录。
2、然后访问你网站的镜像站点,在地址后面加.../ip.php,然后你就会在网站根目录找到 ip.txt 文件了,打开复制里面的 ip 地址。
- <?php
- $file = "ip.txt"; //保存的文件名
- $ip = $_SERVER['REMOTE_ADDR'];
- $handle = fopen($file, 'a');
- fwrite($handle, "IP Address:");
- fwrite($handle, "$ip");
- fwrite($handle, "\n");
- fclose($handele);
- ?>
3、然后打开你的.htaccess 文件,在后面加上如下代码(自行修改为刚刚获得的 ip)
当然,如果你使用 CDN,可以直接在 CDN 后台添加 ip 黑名单
- #添加IP黑名单
- Order Deny,Allow
- Deny from 162.158.72.179
这个时候你再刷新一下镜像站点,是不是已经 403 报错了呢?这个时候已经解决了这个镜像站点,然后就等待蜘蛛将其解决掉吧。
此方法的缺点就是如果镜像网站更换了 ip,那我们的屏蔽就失败了
方法 2:JS 来防护
在头部标签:取自 @boke112 导航
<head></head>
里加上下面的 JS 代码:
或加上以下的 JS 代码:
- <script type="text/javascript">
- if (document.location.host != "www.pweb123.com") {
- location.href = location.href.replace(document.location.host,'www.pweb123.com');
- }
- </script>
- <script type="text/javascript">
- rthost = window.location.host;
- if (rthost != "www.pweb123.com") {
- top.location.href = "https://www.pweb123.com";
- }
- </script>
注意:将上面代码中的www.pweb123.com改为你网站的首页主地址,如果我上面填写的不是我网站的主地址 www.pweb123.com,而是 pweb.com 的话,就会导致网站一直刷新!
注:经过本站测试,如果镜像站屏蔽了 JS,则该方法失效。所以,最好把方法 2 和方法 3 结合使用!
(注意:以上方法感觉并不严严谨,js代码需要稍作修改,改成如下:)
方法 3:Js 被屏蔽后防止镜像的方法
- <script type="text/javascript">
- rthost = window.location.host;
- if (!rthost.indexOf("pweb123.com")) { //改成这样
- top.location.href = "https://www.pweb123.com";
- }
- </script>
将以下代码加到网站的 header.php 中:代码取自 @boke112
有些网站会屏蔽掉 JS 代码(如下面的代码) :
- <div style="display:none;">
- <script>proxy2016 = false;</script>
- <img src="" onerror='setTimeout(function(){if(typeof(proxy2016)=="undefined"){window.location.host="http://www.pweb123.com";}},3000);'>
- </div>
所以 <script>proxy2016 = false;</script> 代码将被过滤掉,img 的 onerror 设置超时时间 3000 毫秒,将运行函数部分,检测是否还存在 proxy2016 字符,如果没有找到就会将主机的 URL 改为 www.pweb123.com;为了安全起见,将 js 部分可以使用 js 代码混淆(本站“JS 代码混淆” 工具 或 站长之家 JS 混淆工具)。
- <script>...</script>
经过我的测试,此代码在 Chrome、IE11 和 360 极速浏览器上均有效,会跳转到源站的原文章页!在 Firefox 上则无效果,镜像的文章页并不会跳转到原站...... 将代码中 img 标签的 src 引用地址改为空格或无效的图片地址后,在 Firefox 上也起作用了!
方法 4:借助 Img 的 Onerror 事件
代码如下:
为了防止域名被替换,我故意做了拆分,这是一个seTimeout函数 没3秒执行一次
- <div style="display:none;">
- <script>tx = false;</script>
- <img src="" onerror='setTimeout(function(){if(typeof(tx)=="undefined"){window.location.href="http://pw"+"eb123"+".com";}},3000);'>
- </div>
这种方法,可以有效防止js或者script代码被过滤,算是比较有效的一种方法。
方法 5:通过禁止某些 User Agent 特征来防
①、PHP 通用版:
将下面的代码贴到网站入口文件 index.php 中的第一个 <?php之后即可:
②、Wordpress 适用版
- //防止恶意HTTP_USER_AGENT采集
- $ua = $_SERVER['HTTP_USER_AGENT'];
- $now_ua = array('FeedDemon ','BOT/0.1 (BOT for JCE)','CrawlDaddy ','Java','Feedly','UniversalFeedParser','ApacheBench','Swiftbot','ZmEu','Indy Library','oBot','jaunty','YandexBot','AhrefsBot','MJ12bot','WinHttp','EasouSpider','HttpClient','Microsoft URL Control','YYSpider','jaunty','Python-urllib','lightDeckReports Bot','PHP');
- if(!$ua) {
- header("Content-type: text/html; charset=utf-8");
- die('请勿采集本站,采集者木有小JJ');
- }else{
- foreach($now_ua as $value )
- if(eregi($value,$ua)) {
- header("Content-type: text/html; charset=utf-8");
- die('请勿采集本站,采集者木有小JJ!');
- }
- }
如果使用上面的 php 版本,WordPress 每次更新就会需要操作 index.php,比较麻烦,因此弄个专版。
将下面的代码贴到 functions.php 中的最后一个 ?>之前即可:
方法6:直接在服务端设置防盗链
- //防止恶意HTTP_USER_AGENT采集
- add_action('wp_head', 'lxtx_deny_mirrored_request', 0);
- function lxtx_deny_mirrored_request()
- {
- $ua = $_SERVER['HTTP_USER_AGENT'];
- $now_ua = array('FeedDemon ','BOT/0.1 (BOT for JCE)','CrawlDaddy ','Java','Feedly','UniversalFeedParser','ApacheBench','Swiftbot','ZmEu','Indy Library','oBot','jaunty','YandexBot','AhrefsBot','MJ12bot','WinHttp','EasouSpider','HttpClient','Microsoft URL Control','YYSpider','jaunty','Python-urllib','lightDeckReports Bot','PHP');
- if(!$ua) {
- header("Content-type: text/html; charset=utf-8");
- wp_die('请勿采集本站,采集者木有小JJ!');
- }else{
- foreach($now_ua as $value )
- if(eregi($value,$ua)) {
- header("Content-type: text/html; charset=utf-8");
- wp_die('请勿采集本站,采集者木有小JJ!');
- }
- }
- }
(1)appach下的防盗链设置:在根目录下创建.htaccess,里边添加内容:
RewriteCond %{HTTP_REFERER} !baidu.com代表放行域名,请放行自己域名以及搜索引擎的域名,可以根据自己需要添加,最下边是指防止盗链的后缀,一般也就这些了。
- RewriteEngine On
- RewriteCond %{HTTP_REFERER} !^http://(.+.)?pweb123.com/ [NC]
- RewriteCond %{HTTP_REFERER} !^$
- RewriteCond %{HTTP_REFERER} !baidu.com [NC]
- RewriteCond %{HTTP_REFERER} !google.com [NC]
- RewriteCond %{HTTP_REFERER} !so.com [NC]
- RewriteCond %{HTTP_REFERER} !qq.com [NC]
- RewriteCond %{HTTP_REFERER} !weibo.com [NC]
- RewriteCond %{HTTP_REFERER} !sm.cn [NC]
- RewriteCond %{HTTP_REFERER} !sogou.com [NC]
- RewriteRule .*.(jpe?g|gif|bmp|png|css|js)$ /statics/images/nopic.gif [R,NC,L]
(2)nginx防止盗链方法
如果原来有:
- #SECURITY-START 防盗链配置
- location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|css|js)$
- {
- expires 30d;
- access_log off;
- valid_referers www.pweb123.com m.pweb123.com pweb123.com;
- if ($invalid_referer){
- rewrite ^/ http://pweb123.com/404/index.html;
- #return 404;
- }
- }
请找到,并且替换最上面的代码
- location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
- {
- expires 30d;
- }
(3)CDN的方式,现在的免费的cdn都可以设置防盗链已经添加ip黑名单的功能,效果还不错,如果不会代码,可以试试这个!
内容取自龙笑天下博客,做了部分修改和更正
评论排行
- ·易优cms小程序插件(69)
- ·微信小程序百度小程序记...(10)
- ·关于百度小程序微信小程...(2)
- ·电子图书馆网站(1)
- ·dedecms小程序插件最新升级日志(1)
- ·怎么选择注册有利于SEO优...(0)
- ·网站文章内容更新有哪些原则(0)
- ·修复list接口当传参more...(0)
- ·网站被恶意镜像怎么办 ...(0)
- ·已经上线的小程序如何自...(0)
- ·网站建设是一门技术活 ...(0)
- ·企业网站建设的具体流程...(0)
- ·建议:请不要在工作中发...(0)
- ·移动端网站建设将何去何从?(0)
- ·论企业网站建设的行业现状(0)
- ·phpcms小程序插件api接口...(0)
相关栏目
阅读排行
- 1小程序测试正常真机不显示内容问题处理(request:fail ssl hand shake error)
- 2网站被恶意镜像怎么办 一段代码轻松搞定(全面版)
- 3phpcms v9小程序demo内容页安卓有时候不显示内容bug修改
- 4phpcms开发小程序api插件1.2版本
- 5虚拟主机屏蔽IP地址的方法
- 6phpcms v9手机访问电脑站一对一跳转对应手机站页面插件
- 7阿里云备案详细流程
- 8关于百度小程序微信小程序video标签不支持视频封面autoplay等问题修复方法
- 9FTP使用教程(以FlashFTP为例)
- 10网站安装教程(phpcms v9程序)
更多+最新案例