好用的网站防镜像代码

在搜索引擎搜索框里面输入你站点名字进行搜索,你可能会看到除了域名之外和你网站内容一模一样的的网站,并且内容和你同步更新。这个时候你就应该意识到你的网站被镜像了。
镜像

镜像网站原理解析

物理中的镜像是指物体在镜面成像,引申到网络上就是克隆一个一模一样的网站。常见的镜像工作方式有下面几种:

  • 第一种就是通过程序实时解析,举个简单例子,假设aaa.com这个网站是bbb.com的镜像地址,当用户访问aaa.com时,该站点的程序就会来bbb.com抓取页面信息然后返回给访问者,本质上还是读取源站的数据。
  • 第二种就是利用仿站软件抓取所有页面保存为静态页面并部署到服务器上。
  • 第三种就是恶意解析,例如对你网站进行反向代理。

上面两种概括了大概的镜像方式,具体实施根据需要调整,例如定时缓存等。

镜像网站的危害

别人镜像你的网站,说明你网站内容是原创的和有价值的,当然不排除恶意搞你的或者吃饱着撑得没事干的。镜像网站可能会替换掉一些内容并添加恶意链接,从而达到非法目的,并且这种镜像相当于是截获了我们在搜索引擎的流量,属于恶意镜像行为。对于新建立的网站来说,搜索引擎无法分辨到底哪个是源站,然后就会出现镜像站被收录,源站被删除收录的情况。
在搜索引擎里面采用intitle搜索指令搜索自己网站的完整标题,例如本站的就是:intitle PM 小凯哥|一枚产品的折腾记录!
然后看看有没有除了域名外和你内容差异不大的网站,如果有,那基本上可以确认你的网站被镜像了。

intitle是SEO中的高级搜索指令,intitle关键词指令返回的是页面title中包含关键词的页面。Goolge和百度都支持intitle指令。

恶意镜像解决方法

方法1:JavaScript来进行跳转

<script type="text/javascript">
if (document.location.host != "www.xuxinkai.cn" && document.location.host != "xuxinkai.cn" ) {
     alert('警告!检测到该网站为恶意镜像站点,将立即为您跳转到官方站点!');
     location.href = location.href.replace(document.location.host,'xuxinkai.cn');
}
</script>

将上面代码中的域名改为你网站的首页主地址。

方法2: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!请正常访问!');
    }
}

放在入口文件开头即可,但采用这种方法可能会误杀RSS订阅,自己根据需要调整UA头。

© 版权声明
THE END
请我喝怡宝
点赞1
分享
评论 共1条