CDN源站屏蔽搜索引擎爬虫

Ku_Andrew

原文转自本人博客 - Ku_Andrew's Blog
CDN源站屏蔽搜索引擎爬虫

0x00 前言

自从去年全站使用阿里云CDN之后,网站访问速度得到了很明显的提升,同时阿里云CDN的稳定性也很棒。但最近这段时间发现,百度和谷歌的爬虫开始爬我的源站了。这就有点麻烦了,要是不赶紧解决,给主站降权就不好了。

0x01 思路

因为蜘蛛爬了不该爬的东西,解决思路自然是限制蜘蛛的爬取。
大概有三种方法可以限制蜘蛛的抓取:

1.robots.txt文件

robots文件用于限制搜索引擎蜘蛛的行为,在源站屏蔽蜘蛛主要是为了限制蜘蛛对同程序下不同域名的抓取。但是robots.txt文件没有可以限制域名相关的参数,只能限制蜘蛛对当前域名下文件的抓取,此路不通。

2.设置META标签

当访客访问的域名不是主站域名时,在网页的<meta>标签中植入限制蜘蛛活动的内容,实现起来比较简单,只用修改一下模板中的header文件即可。

3.识别蜘蛛的UA,在网站程序上做限制

获取访客的User-Agent,如果是搜索引擎蜘蛛的UA,则跳转至主站。也有一个问题,就是要去网上收集各家搜索引擎蜘蛛的UA,想着就累。
人懒,就选择设置META标签的方法。

0x02 实践

第一步,在程序中获取访客访问的域名。这一歩就不做多介绍了,不同语言和环境有不同的方法获取,PHP可以通过如下语句获取访问者当前访问的域名:
$_SERVER['SERVER_NAME'];
第二步,如果不为主站域名,则输出HEAD中的META标签限制蜘蛛的活动:

if ($_SERVER['SERVER_NAME'] != 'www.kungg.com' {
    echo '<META NAME="robots" CONTENT="noindex,nofollow">';
}

0x03 大功告成

额,插不了图片。。

阅读 3.6k

冉坤坤坤
骑bmx,程序员,现场迷,瞌睡多,好吃,enactus

骑bmx,程序员,现场迷,瞌睡多,好吃,enactus

536 声望
5 粉丝
0 条评论

骑bmx,程序员,现场迷,瞌睡多,好吃,enactus

536 声望
5 粉丝
文章目录
宣传栏