User-Agent可以被伪造,不能仅凭“Googlebot”文字就放行。可按官方方法做反向与正向DNS核对,或匹配当前对应爬虫的官方IP范围。不同爬虫与用户触发的读取工具有不同类别,验证时必须选择正确范围,并保留核对结果。

规则依据:Google Crawling:验证Google请求。

先拿到可信的源地址

从实际接收请求的服务器或可信代理链读取来源IP,注意未经信任的请求头也可能被伪造。保存时间、路径及规则命中情况,避免把一个客户端提交的转发地址当作真实来源。多层CDN环境需要先明确哪一层日志可信,才能进行身份验证。

一次检查做双向DNS核对

对来源IP进行反向DNS查询,检查返回主机名是否属于相应官方域名,再对该主机名做正向查询,确认地址对应原来源IP。域名必须按完整边界核对,不能只看字符串含有googlebot.com,因为攻击者可以在其他域名中使用类似字样。

Google请求身份的验证,流程为取得可信来源 → 核对双向DNS → 匹配正确IP范围 → 保留验证记录
Google请求身份的验证:取得可信来源 → 核对双向DNS → 匹配正确IP范围 → 保留验证记录。

自动核对使用正确的当前列表

批量验证可按官方发布的爬虫或读取工具IP范围进行匹配。普通爬虫、AdsBot等特殊爬虫与用户触发的工具属于不同类别,不能混用一个列表后宣称覆盖全部Google访问。列表应有更新机制,也不能将所有Google云用户地址都当作可信搜索爬虫。

验证身份后仍按范围管理

身份核对是访问规则的依据之一,不代表允许无限请求或访问私密页面。保留必要的负载保护,并按公开内容的用途处理。记录验证方法、列表版本及实际结果;无法确认的请求应标为未确认,而不是为了报表完整将所有类似名称都计算为Google抓取。

重点对照

信息项核对内容需要注意
来源IP从可信日志与代理链取得不信任任意转发请求头
双向DNS反查域名再正查地址只含相似文字不算官方域名
官方范围按请求类别匹配当前列表云用户地址不等于搜索爬虫
Google请求身份的验证对照:来源IP、双向DNS、官方范围
Google请求身份的验证:来源IP、双向DNS、官方范围。

常见问题

改User-Agent模拟Googlebot就能测试真实抓取吗?

只能测试某些基于标识的规则,不能模拟真实来源网络和身份。

通过身份验证就应该绕过所有安全限制吗?

不应如此。公开资源可按需要允许读取,但负载、权限和私密内容仍需正常管理。

参考资料