安全识别机器人·爬虫的方法
User-Agent 指南
搜索引擎机器人、社交预览机器人、AI 爬虫大多使用会表明自身身份的 User-Agent。例如 Googlebot 包含 Googlebot/2.1,GPTBot 包含 GPTBot/1.1 这样的令牌。
仅凭 UA 判断为何危险
任何人都能伪造 User-Agent。如果恶意抓取工具冒充 Googlebot 进行访问,只相信 UA 字符串的服务器就无法将其过滤掉。
推荐的验证流程
要信任正常的机器人,应同时确认以下几点。
- 先初步确认 UA 中是否有已知的机器人令牌
- 对访问 IP 做反向 DNS 查询,确认是否为
googlebot.com等官方域名 - 再把该结果通过正向 DNS 确认(反向+正向一致)
- 与官方文档提供的 IP 段进行比对
与 robots.txt 的关系
有礼貌的机器人会尊重 robots.txt。要控制爬取,与其用 UA 屏蔽,不如把 robots.txt 与服务器端 IP 验证结合起来更为稳固。
AI 爬虫(GPTBot·ClaudeBot·PerplexityBot 等)大多也遵循 robots.txt 规则,因此若想阻止训练爬取,可在 robots.txt 中将相应的 UA 指定为 Disallow。