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


Posted in PHP onOctober 23, 2018

有时候你会发现,你在搜索引擎输入网站名称的时候,出来的网站信息是你们的,但是域名却是一个陌生的,这种情况可以基本确定网站被镜像了,那么究竟什么叫网站被镜像?

恶意镜像,也叫恶意克隆,恶意解析,是指有人通过域名 A 记录直接解析别人 IP 地址,从而得到一个在访问者眼中完全相同网站的过程。其工作原理基本上是这样子的:有用户访问镜像站点时,程序就会来正版的站点查询数据,并修改相关链接然后呈献给用户,实质上还是在读取原站的数据。严谨一点的解释:通过复制整个网站或部分网页内容并分配以不同域名和服务器,以此欺骗搜索引擎对同一站点或同一页面进行多次索引的行为 。

网站被镜像的危害

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

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

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

复制自己网站的完整标题(PS:查看自己站点首页源码,其中 <title>龙笑天下 - 分享悲伤;共享快乐</title>),然后在谷歌和百度等搜索引擎里搜索,如搜索:intitle 龙笑天下 - 分享悲伤;共享快乐,如果有其他网站的网站标题、描述及网站内容跟你的一样,只有域名不一样,那就是被镜像了。

如何处理网站被镜像

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

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

本教程基于 WordPress 程序,其他系统请自测!

1、获取镜像服务器 ip。注:这个 IP 可能不是 ping 到他域名的 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);
?>

<?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

#添加IP黑名单
Order Deny,Allow
Deny from 162.158.72.179

当然,如果你使用 CDN,可以直接在 CDN 后台添加 ip 黑名单

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

此方法的缺点就是如果镜像网站更换了 ip,那我们的屏蔽就失败了

方法 2:JS 来防护

在头部标签:取自 @boke112 导航

<head></head>

<head></head>

里加上下面的 JS 代码:

<script type="text/javascript">
if (document.location.host != "www.ilxtx.com") {
location.href = location.href.replace(document.location.host,'www.ilxtx.com');
}
</script>

<script type="text/javascript">
if (document.location.host != "www.ilxtx.com") {
location.href = location.href.replace(document.location.host,'www.ilxtx.com');
}
</script>

或加上以下的 JS 代码:

<script type="text/javascript">
rthost = window.location.host;
if (rthost != "www.ilxtx.com") {
top.location.href = "https://www.ilxtx.com";
}
</script>

<script type="text/javascript">
rthost = window.location.host;
if (rthost != "www.ilxtx.com") {
top.location.href = "https://www.ilxtx.com";
}
</script>

注意:将上面代码中的www.ilxtx.com改为你网站的首页主地址,如果我上面填写的不是我网站的主地址 www.ilxtx.com,而是 ilxtx.com 的话,就会导致网站一直刷新!

注:经过本站测试,如果镜像站屏蔽了 JS,则该方法失效。所以,最好把方法 2 和方法 3 结合使用!

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

将以下代码加到网站的 header.php 中:代码取自 @boke112

<div style="display:none;">
<script>proxy2016 = false;</script>
<img src="" onerror='setTimeout(function(){if(typeof(proxy2016)=="undefined"){window.location.host="www.ilxtx.com";}},3000);'>
</div>

<div style="display:none;">
<script>proxy2016 = false;</script>
<img src="" onerror='setTimeout(function(){if(typeof(proxy2016)=="undefined"){window.location.host="www.ilxtx.com";}},3000);'>
</div>

有些网站会屏蔽掉 JS 代码(如下面的代码) :

<script>...</script>
<script>...</script>

所以 <script>proxy2016 = false;</script> 代码将被过滤掉,img 的 onerror 设置超时时间 3000 毫秒,将运行函数部分,检测是否还存在 proxy2016 字符,如果没有找到就会将主机的 URL 改为 www.ilxtx.com;为了安全起见,将 js 部分可以使用 js 代码混淆(本站“JS 代码混淆” 工具 或 站长之家 JS 混淆工具)。
本站的混淆结果如下:

<div style="display:none;">
<script>proxy2016 = false;</script>
<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);'>
</div>

<div style="display:none;">
<script>proxy2016 = false;</script>
<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);'>
</div>

经过我的测试,此代码在 Chrome、IE11 和 360 极速浏览器上均有效,会跳转到源站的原文章页!在 Firefox 上则无效果,镜像的文章页并不会跳转到原站...... 将代码中 img 标签的 src 引用地址改为空格或无效的图片地址后,在 Firefox 上也起作用了!

方法 4:借助 Img 的 Onerror 事件

20161119 更新(增加搜狗快照支持):此方法使用了后,会导致百度快照、谷歌快照、必应快照和搜狗快照等跳到 404 页面(360 搜索快照则不会~),奈何不知怎么弄,2016-11-10 再次经过张戈的指导,将原代码中的:if( str1!=str3 ) 改为 :if( str1!=str3 && str3!="cache.baiducontent.com" && str3!="webcache.googleusercontent.com" && str3!="c.360webcache.com" && str3!="cncc.bingj.com" && str3!="snapshot.sogoucdn.com" ) 。估计要等快照更新时才能知道效果了!

20161127:经过验证,上述更新已经起作用了!具体效果,请点我~

20171022 更新:从张戈那看到,这段代码会因为 onerror 死循环造成浏览网页的电脑高负载(CPU 飙升),因此在代码 onerror 触发事件中加入 onerror 清空机制,即加入this.onerror=null。【博客网页导致电脑 CPU 飙升的问题解决记录】

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

①、WordPress 专用版

经过 @张戈 童学的不断改进(IE 不支持 window.stop() 函数,所以“20160909 版本”失效...),已经完美的适配 Firefox、Chrome、IE11 和 360 极速浏览器,而且可以跳转至源站的相应文章页,在此衷表感谢!下面 3 段任选一个即可。效果请看这里:http://www.ilxtx.com.3s3s.org/the-shawshank-redemption-1994.html

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

/**
* 网站被恶意镜像怎么办 一段代码轻松搞定(全面版) - 龙笑天下
* https://www.ilxtx.com/mirrored-website.html
* 最后更新时间:20171022  发布时间:20160912
* 出自:zhangge.net
*/
add_action('wp_footer','lxtx_deny_mirrored_websites');
function lxtx_deny_mirrored_websites(){
  $currentDomain = 'www" + ".ilxtx." + "com';
  // $currentDomain = '"zhangge." + "net"';
  echo '<img style="display:none" src=" " onerror=\'this.onerror=null;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!="cncc.bingj.com" && str3!="snapshot.sogoucdn.com" ){ do_action = "loca" + "tion." + "href = loca" + "tion.href" + ".rep" + "lace(docu" +"ment"+".loca"+"tion.ho"+"st," + "\"' . $currentDomain .'\"" + ")";eval(do_action) }\' />';
}

/**
* 网站被恶意镜像怎么办 一段代码轻松搞定(全面版) - 龙笑天下
* https://www.ilxtx.com/mirrored-website.html
* 最后更新时间:20171022  发布时间:20160912
* 出自:zhangge.net
*/
add_action('wp_footer','lxtx_deny_mirrored_websites');
function lxtx_deny_mirrored_websites(){
  $currentDomain = 'www" + ".ilxtx." + "com';
  // $currentDomain = '"zhangge." + "net"';
  echo '<img style="display:none" src=" " onerror=\'this.onerror=null;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!="cncc.bingj.com" && str3!="snapshot.sogoucdn.com" ){ do_action = "loca" + "tion." + "href = loca" + "tion.href" + ".rep" + "lace(docu" +"ment"+".loca"+"tion.ho"+"st," + "\"' . $currentDomain .'\"" + ")";eval(do_action) }\' />';
}

Ps:如果是丢到 wp_head,经过测试发现图片放到 head,浏览器会自动进行错误调整,导致一些本来在 head 的元素被丢到了 body 当中,比如 style.css,估计网页标准中 head 里面就不应该放置图片,所以移到了 footer 当中。

/**
* 网站被恶意镜像怎么办 一段代码轻松搞定(全面版) - 龙笑天下
* https://www.ilxtx.com/mirrored-website.html
* 出自:zhangge.net
*/
add_action('wp_footer','lxtx_deny_mirrored_websites');
function lxtx_deny_mirrored_websites(){
 $currentDomain = "www' + '.ilxtx.' + 'com";
 // $currentDomain = "zhangge' + '.' + 'net";
 echo '<img style="display:none" src="nothing" onerror="this.onerror=null;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) }" />';
}
/**
* 网站被恶意镜像怎么办 一段代码轻松搞定(全面版) - 龙笑天下
* https://www.ilxtx.com/mirrored-website.html
* zhangge.net修改
*/
add_action('wp_footer','lxtx_kimsom_reverse_proxy_defense', 99);
function lxtx_kimsom_reverse_proxy_defense(){
 $currentDomain = '"www." + "ilxtx" + ".com"';
 echo '<img style="display:none" id="inlojv-rpd" src="nothing" data-url="'.home_url().'" onerror=\'this.onerror=null;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 版本”一样有个提示语,可将上面这段代码改为此

add_action('wp_footer','lxtx_kimsom_reverse_proxy_defense', 99);
function lxtx_kimsom_reverse_proxy_defense(){
 $currentDomain = '"www." + "ilxtx" + ".com"';
 echo '<img style="display:none" id="inlojv-rpd" src="nothing" data-url="'.home_url().'" onerror=\'this.onerror=null;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 .');}\'/>';
}
摘自 @曾劲松博客

/**
* 网站被恶意镜像怎么办 一段代码轻松搞定(全面版) - 龙笑天下
* https://www.ilxtx.com/mirrored-website.html
*/
add_action('wp_footer','lxtx_kimsom_reverse_proxy_defense');
function lxtx_kimsom_reverse_proxy_defense(){
$domain_arr = explode('//',home_url());
$domain = $domain_arr[1];
 echo '<img style="display:none" id="inlojv-rpd" src="nothing" data-url="'.home_url().'" onerror="this.onerror=null;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);}">';
}
/**
* 网站被恶意镜像怎么办 一段代码轻松搞定(全面版) - 龙笑天下
* https://www.ilxtx.com/mirrored-website.html
*/
add_action('wp_footer','lxtx_kimsom_reverse_proxy_defense');
function lxtx_kimsom_reverse_proxy_defense(){
$domain_arr = explode('//',home_url());
$domain = $domain_arr[1];
 echo '<img style="display:none" id="inlojv-rpd" src="nothing" data-url="'.home_url().'" onerror="this.onerror=null;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);}">';
}

添加以上代码之后,再打开镜像站就会弹出提示:“警告!检测到该网站为恶意镜像站点,将立即为您跳转到官方站点!”,并在关闭或确定此提示后直接跳转到被镜像的网站。经过本站测试,本方法防止网站被镜像目前有效。

效果请看这里:

https://www.ilxtx.com.dijicat.com/the-shawshank-redemption-1994.html

此方法在 IE11 上,会弹出提示框,但点击“确定”按钮后,网页并不会跳转。。。Firefox、Chrome 和 360 极速浏览器上则没此问题!

②、HTML 通用版

既然是利用 js 代码,那么就能用到如何 html 页面当中了。要不是为了可以放到 wp 的 functions.php,都没必要写成 php 的模式,直接用 html 代码即可:

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

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

将以上代码中的: var currentDomain="www." + "ilxtx" + ".com"; 自行拆分成自己的域名,避免被镜像代码替换掉,比如: var currentDomain="zhangge." + "net";

然后将代码添加到网站的 <body> 之后即可(不建议放置到 <head> 里面,具体原因上文已说明),这个版本适合任何网页。

方法 5:通过禁止某些 User Agent 特征来防

服务器反爬虫攻略:Apache/Nginx/PHP 禁止某些 User Agent 抓取网站
我们都知道网络上的爬虫非常多,有对网站收录有益的,比如百度蜘蛛(Baiduspider),也有不但不遵守 robots 规则对服务器造成压力,还不能为网站带来流量的无用爬虫,比如 YY 蜘蛛(Yis...

参考上面这篇文章来禁止 UA 为 PHP 的抓取网页,从而达到防镜像的目的!

①、PHP 通用版:

将下面的代码贴到网站入口文件 index.php 中的第一个 <?php之后即可:

//防止恶意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!请正常访问,并认准【龙笑天下网】官方网址!');
  }
}

//防止恶意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!请正常访问,并认准【龙笑天下网】官方网址!');
  }
}

②、Wordpress 适用版

如果使用上面的 php 版本,WordPress 每次更新就会需要操作 index.php,比较麻烦,因此弄个专版。

将下面的代码贴到 functions.php 中的最后一个 ?>之前即可:

/**
* 网站被恶意镜像怎么办 一段代码轻松搞定(全面版) - 龙笑天下
* https://www.ilxtx.com/mirrored-website.html
* 出自:zhange.net
*/
//防止恶意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!请正常访问,并认准【龙笑天下网】官方网址!');
  }
}
}

/**
* 网站被恶意镜像怎么办 一段代码轻松搞定(全面版) - 龙笑天下
* https://www.ilxtx.com/mirrored-website.html
* 出自:zhange.net
*/
//防止恶意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!请正常访问,并认准【龙笑天下网】官方网址!');
  }
}
}

经过测试,在 functions.php 中加入此代码后,打开镜像站后显示“Internal Server Error”,强制刷新后显示我们设置好的提示文字“请勿采集本站,采集者木有小 JJ!请正常访问,并认准【龙笑天下网】官方网址!”。

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

dijicat.com
lapaleo.com
iaroex.com
disauvi.com
3s3s.org
ytlqpo.com
s3.gvirabi.com
hdtmail.com
dimyapi.com

更多镜像网站等你提供~

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

友情提示:建议方法 2 和方法 3 一起使用!方法 4 包含方法 2 和方法 3~

PHP 相关文章推荐
菜鸟学PHP之Smarty入门
Jan 04 PHP
PHP APC的安装与使用详解
Jun 13 PHP
9条PHP编程小知识及易犯的小错误
Jan 22 PHP
php读取der格式证书乱码解决方法
Jun 22 PHP
PHP MYSQL实现登陆和模糊查询两大功能
Feb 05 PHP
Netbeans 8.2与PHP相关的新特性介绍
Oct 08 PHP
微信封装的调用微信签名包的类库
Jun 08 PHP
PHP常量define和const的区别详解
May 18 PHP
PHP命名空间定义与用法实例分析
Aug 14 PHP
php pdo连接数据库操作示例
Nov 18 PHP
php操作redis数据库常见方法实例总结
Feb 20 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 PHP
PHP中使用mpdf 导出PDF文件的实现方法
Oct 22 #PHP
php微信公众号开发之答题连闯三关
Oct 20 #PHP
php微信公众号开发之简答题
Oct 20 #PHP
php微信公众号开发之快递查询
Oct 20 #PHP
php微信公众号开发之翻页查询
Oct 20 #PHP
php微信公众号开发之校园图书馆
Oct 20 #PHP
php微信公众号开发之二级菜单
Oct 20 #PHP
You might like
PHP学习笔记 用户注册模块用户类以及验证码类
2011/09/20 PHP
PHP 之Section与Cookie使用总结
2012/09/14 PHP
codeigniter数据库操作函数汇总
2014/06/12 PHP
PHP生成树的方法
2015/07/28 PHP
php创建图像具体步骤
2017/03/13 PHP
ThinkPHP 3使用OSS的方法
2018/07/19 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
JavaScript 入门·JavaScript 具有全范围的运算符
2007/10/01 Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
2014/10/16 Javascript
探寻Javascript执行效率问题
2014/11/12 Javascript
node.js中的events.EventEmitter.listenerCount方法使用说明
2014/12/08 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
2015/03/11 Javascript
jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
2015/09/14 Javascript
javascript点击按钮实现隐藏显示切换效果
2016/02/03 Javascript
基于jquery实现智能提示控件intellSeach.js
2016/03/17 Javascript
基于RequireJS和JQuery的模块化编程——常见问题全面解析
2016/04/14 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
2016/05/18 Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
2016/08/10 Javascript
JavaScript自定义文本框光标
2017/03/05 Javascript
分分钟学会vue中vuex的应用(入门教程)
2017/09/14 Javascript
javascript实现电脑和手机版样式切换
2017/11/10 Javascript
nuxt.js添加环境变量,区分项目打包环境操作
2020/11/06 Javascript
动态实现element ui的el-table某列数据不同样式的示例
2021/01/22 Javascript
[01:05:32]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第一局
2016/03/04 DOTA
Python中的__SLOTS__属性使用示例
2015/02/18 Python
python实现图片处理和特征提取详解
2017/11/13 Python
python实现百度OCR图片识别过程解析
2020/01/17 Python
来自南加州灵感的工作和娱乐服装:TravisMathew
2019/05/01 全球购物
高级电工工作职责
2013/11/21 职场文书
同事打架检讨书
2014/02/04 职场文书
付款证明格式范文
2015/06/19 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
拥有这5个特征人,“命”都不会太差
2019/08/16 职场文书
JavaScript 实现页面滚动动画
2021/04/24 Javascript
关于JavaScript回调函数的深入理解
2021/06/27 Javascript
php双向队列实例讲解
2021/11/17 PHP