一、查看UA信息
如果UA信息不对,可以直接判断该蜘蛛为非百度搜索的蜘蛛。
目前UA分为移动、PC、和小程序三个应用场景,分别如下:
【移动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:打开命令处理器,输入nslookup xxx.xxx.xxx.xxx(IP地址)就能解析IP,判断该抓取是否来自Baiduspider。
3) 在macOS平台下,可以使用dig命令反解IP:打开命令处理器输入dig -x xxx.xxx.xxx.xxx(IP地址)就能解析IP,判断该抓取是否来自Baiduspider。
第二步:对域名运行正向DNS查找
对第一步中通过命令检索到的域名运行正向DNS查找,验证该域名与日志中访问服务器的原始IP地址是否一致,IP地址一致可确认spider来自百度搜索引擎,IP地址不一致即为冒充。
【示例】
> host 111.206.198.69
69.198.206.111. in-addr.arpa domain name pointer baiduspider-111-206-198-69.crawl.baidu.com.
>hostbaiduspider-111-206-198-69.crawl.baidu.com
baiduspider-111-206-198-69.crawl.baidu.com has address 111.206.198.69
原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/244133.html