当出现抓取量激增、重复的 5xx 响应或意外的机器人负载时,可使用此流程。User-Agent 字符串只是一个声明,不能证明身份。
建立有用的日志样本
- 导出时间戳、来源 IP、User-Agent、方法、路径、状态、响应字节数和请求时长。固定时间窗口和时区。
- 按声明的爬虫、状态和路径分组。分别计算请求数和不同 IP 数;不要根据原始请求数推断人数或访问量。
更改访问权限前先核实身份
- 对于 Googlebot,使用 Google 发布的 IP 范围或文档中的反向 DNS 流程验证来源 IP。仅 User-Agent 匹配并不足够。
- 将已验证的请求与 robots 规则、抓取速率和服务器错误进行比较。只针对确切的滥用 IP/路径模式升级处理;保留证据和回滚方案。
示例和预期结果
- 示例:一条日志记录显示
GET /page 200 "Googlebot"。对于真实 IP,执行反向 DNS,确认其为 Google 官方爬虫主机名,然后进行正向解析,核实结果包含原始 IP。记录状态、URL、响应码和时间。示例 IP 203.0.113.24 仅供文档使用。 - 如果两次 DNS 检查结果不匹配,将该请求标记为未验证;不要只凭 User-Agent 作出判断。本流程仅适用于 Google;其他服务商应使用各自公布的验证方法。限制日志访问,并且只在配置的保留期限内保存 IP 数据。