搜索引擎派出他们的搜索机器人去访问、索引网站内容,网站管理员也默认、欢迎它们
来访。但是由于搜索引擎派机器人来访会在一定程度上影响网站性能,因此并非所有的机器
人都是无害的,有一些非法机器人伪装成主流搜索引擎漫游器对网站大量遍历,并且不遵循
robots.txt规范,会严重拖垮网站性能而又无其它益处。因此,网站管理员需要验证每个机器
人身份是否合法。
在你的服务器日志文件中,可见每次访问的路径和相应的IP地址,如果是机器人来访,
则user-agent会显示Googlebot或MSNBot等搜索引擎漫游器名称,每个搜索引擎都有自己的
user-agent,但仅有这个还不足以证明这个机器人的合法性,因为很多垃圾制造者可能将他
们的机器人也命名为Googlebot,以伪装蒙混进入网站,大肆采掘内容。
目前,主流搜索引擎都建议网站管理员通过这种方式来辨别真实的机器人身份:通过
DNS反向查询找出搜索引擎机器人IP地址对应的主机名称;用主机名查找IP地址以确认该主
机名与IP地址匹配。
首先,使用DNS反向查询(Reverse DNS Lookup),找出机器人IP地址对应的主机名称。
主流搜索引擎的主机名称通常情况下应是这样的:
Google : 主机名称应包含于 googlebot.com 域名中,如:
crawl-66-249-66-1.googlebot.com;
MSN :主机名称应包含于 search.live.com 域名中,如:
livebot-207-46-98-149.search.live.com;
Yahoo: 主机名称应包含于inktomisearch.com域名中,如: ab1164.inktomisearch.com。
最后,做一次DNS查询,用主机名查找IP地址(Forward DNS Lookup),以确认该主机
名与IP地址匹配。由此证明该机器人是合法的。
现在,如果发现一个机器人将自己伪装成合法搜索引擎漫游器,你就可以通过服务器上
的设置来阻止这个非法机器人。