发布日期:2017-04-27
经常听到开发者问,百度蜘蛛是什么?最近百度蜘蛛来的太频繁服务器抓爆了!最近百度蜘蛛都不来了怎么办?还有很多站点想得到百度蜘蛛的IP段,想把IP加入白名单,但IP地址范围动态变化不固定,我们无法对外公布。
那么如何才能识别正确的百度蜘蛛呢?今日干货带你轻松两步正确识别百度蜘蛛:
一、查看
UA信息
如果UA信息不对,可以直接判断为非百度搜索的蜘蛛。目前UA分为移动、PC、和小程序三个应用场景,这三个渠道UA分别如下:
移动UA:
Mozilla/5.0 (Linux;u;Android 4.2.2;zh-cn;) AppleWebKit/534.46 (KHTML,like Gecko)Version/5.1 Mobile Safari/10600.6.3 (compatible; Baiduspider/2.0;+http://www.baidu.com/search/spider.html)
或
Mozilla/5.0 (iPhone;CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko)Version/9.0 Mobile/13B143 Safari/601.1 (compatible; Baiduspider-render/2.0;+http://www.baidu.com/search/spider.html)
PC UA:
Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)
或
Mozilla/5.0 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)
小程序
UA:
Mozilla/5.0 (iPhone;CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko)Version/9.0 Mobile/13B143 Safari/601.1 (compatible; Baiduspider-render/2.0;Smartapp; +http://www.baidu.com/search/spider.html)
二、
双向DNS解析认证
第一步:DNS反查IP
开发者通过对日志中访问服务器的IP地址运行反向DNS查找,判断某只spider是否来自百度搜索引擎,
Baiduspider
的
hostname
以
*.baidu.com
或
*.baidu.jp
的格式命名,非
*.baidu.com
或
*.baidu.jp
即为冒充。
根据平台不同验证方法不同,如linux/windows/os三种平台下的验证方法分别如下:
1).
在
linux
平台下,您可以使用
host ip
命令反解
ip
来判断是否来自
Baiduspider
的抓取。
2).
在
windows
平台或者
IBM OS/2
平台下,您可以使用
nslookup ip
命令反解
ip
来
判断是否来自
Baiduspider
的抓取。打开命令处理器
输入
nslookup xxx.xxx.xxx.xxx
(
IP
地址)就能解析
ip
,来判断是否来自
Baiduspider
的抓取。
3).
在
macos
平台下,您可以使用
dig
命令反解
ip
来判断是否来自
Baiduspider
的抓取。打开命令处理器输入
dig -x xxx.xxx.xxx.xxx
(
IP
地址)就能解析
ip
,来判断是否来自
Baiduspider
的抓取。
第二步:对域名运行正向DNS查找
对第一步中通过命令检索到的域名运行正向DNS查找,验证该域名与您日志中访问服务器的原始IP地址是否一致,IP地址一致可确认spider来自百度搜索引擎,IP地址不一致即为冒充。
示例1:
> host 111.206.198.69
69.198.206.111. in-addr.arpa domain name pointer baiduspider-111-206-198-69.crawl.baidu.com.
> host baiduspider-111-206-198-69.crawl.baidu.com
baiduspider-111-206-198-69.crawl.baidu.com has address 111.206.198.69