如何在服务器日志中验证真正的 AI 爬虫访问
作者: Zakaria Reziki
Growli 首席执行官 · 2026年9月30日 · 5 分钟阅读
在 Zakaria Reziki 制定的编辑标准下借助 AI 撰写,并在通过来源与质量的自动检查后发布。
服务器日志里出现一行“GPTBot”,并不能证明 OpenAI 的爬虫真的访问过你——它只能证明某个请求自称是 GPTBot,而任何人都可以这样自称。用户代理字符串只是访客的软件在请求中附带的一句话,没有什么能阻止爬虫脚本、竞争对手的工具,或者一个好奇的学生随意填上他们喜欢的任何名字。
幸运的是,每家主流 AI 爬虫运营商都采用了与搜索引擎多年前相同的解决方式:公开其爬虫实际使用的真实 IP 地址列表,让任何人都能将声称的访问与真实情况对照核实。本文将借助这些公司自己发布的验证页面,逐步讲清楚具体该怎么做。
为什么日志里的名字本身并不足够
想象一家牙科诊所的网站,日志显示上个月有五十次来自自称“GPTBot”的访问。这看起来像是 OpenAI 正在读取该网站的证据。但用户代理字符串完全是自我声明的——就像前台的访客只是随口报出自己的名字,没有人核实身份证。任何人编写的完全不同的程序,都可以说出一模一样的名字。
这一点出于两个实际原因很重要:如果你正在决定是否屏蔽或允许某个爬虫,你需要确认自己控制的确实是真正的那一个,而不是一个冒牌货。如果你想了解自己实际收到了多少真正的 AI 爬虫流量,一个被夸大或伪造的数字会给你完全错误的印象。
真正的验证方法:公开的 IP 列表
每家主流运营商都用同样的方式解决这个问题:它们发布一份机器可读的文件,列出其爬虫实际发出请求所使用的真实 IP 地址范围。只有当用户代理名称和来源 IP 地址都与该公司自己公布的信息相符时,一个请求才真正是那家公司的爬虫。
OpenAI 为其每个机器人都发布了单独的验证文件——GPTBot、OAI-SearchBot、OAI-AdsBot 和 ChatGPT-User 各自拥有自己的列表。Anthropic 发布了一份列表,涵盖其位于 claude.com/crawling/bots.json 的爬虫信息。Perplexity 为其两个机器人分别发布了文件——PerplexityBot 和 Perplexity-User——其官方文档也建议同时核对用户代理名称和 IP 地址,以获得可靠的结果。
已公开的验证文件
每家公司在哪里公布其真实 IP 范围
OpenAI
每个机器人各有一份单独文件——GPTBot、OAI-SearchBot、OAI-AdsBot、ChatGPT-User。
Anthropic
在 claude.com/crawling/bots.json 上发布一份列表,涵盖其所有爬虫。
Perplexity
PerplexityBot 一份文件,Perplexity-User 另有单独一份。
四步检查法,简单易懂
你不需要是开发者也能完成这项检查,不过有开发者帮忙处理技术步骤会更快一些。
- 在日志中找到声称的访问记录。在服务器的访问日志中搜索你要核实的机器人名称——“GPTBot”“ClaudeBot”或“PerplexityBot”——并记下每个请求来自的 IP 地址。
- 打开该公司公布的 IP 列表。每一份都是位于上述地址的一个简短纯文本文件,设计用于供软件读取,但普通人也完全可以读懂。
- 比对 IP 地址,而不仅仅是名称。如果你日志中的 IP 地址出现在该公司公布的范围内,这次访问就是真实的。如果不在其中,就说明有某个东西冒用了一个不属于它的名字。
- 定期重新检查。各公司会随着基础设施的变化更新这些 IP 范围,所以一次性检查很快就会过时。大多数网站主只需每隔几个月重新检查一次,或者当爬虫流量出现异常时再检查。
检查步骤
核实一次声称的爬虫访问
1. 在日志中找到该次访问
记下所声称的机器人名称及其来源 IP 地址。
2. 打开运营商公布的列表
由该公司自行维护的一份简短纯文本文件。
3. 核对 IP,而不只是名称
只有 IP 地址匹配,才能确认这是真正的爬虫。
这实际上能保护你免受什么影响
这与多疑无关——而是为了做出知情的决定,而不是凭假设行事。一位因为希望 AI 助手了解自己产品而决定允许 GPTBot 的企业主,应该确认自己允许的流量确实是 GPTBot,而不是某个借用了一个可信名字来绕过简单屏蔽的、与之无关的爬虫脚本。
同样的检查在反方向上也同样重要:在 robots.txt 中屏蔽 GPTBot 的企业,信赖的是合规、守规矩的爬虫会遵守这条指令——而 OpenAI 自己的文档也表示 GPTBot 确实如此。一次冒用 GPTBot 名义的伪造访问,并不会受到同样的诚实约束,这也是为什么当你发现流量看起来不对劲时,IP 检查会格外重要的另一个原因。一旦确认了真正访问你的是谁,我们关于这些爬虫如何读取你网站的指南以及关于屏蔽它们是否影响 Google 排名的真相会帮你做出接下来的决定。
FAQ
不能。用户代理字符串是随请求附带的自我声明文本,任何程序都可以在其中填上任意名称。真正的验证需要将请求的 IP 地址与爬虫运营商自己公布的列表进行核对。
OpenAI 在 openai.com 上为每个机器人各发布一份(参见其开发者文档),Anthropic 在 claude.com/crawling/bots.json 上发布一份统一列表,Perplexity 则在自己的文档中为每个机器人各发布一份。每一份都是一个简短的文件。
不需要。你的网络服务器几乎肯定已经在记录每位访客的 IP 地址和用户代理字符串。将记录到的 IP 地址与公布的列表进行比对,任何能读懂一个简短文本文件的人都可以做到,也可以请开发者实现自动化。
各公司会随基础设施变化更新其 IP 范围,所以应把每次检查当作一个时间点的快照,而非永久不变的事实。对大多数企业来说,每隔几个月重新检查一次,或者当爬虫流量看起来异常时再检查,就已经足够。
适用——OpenAI、Anthropic 和 Perplexity 都为其用户触发型机器人以及爬取型机器人分别发布了 IP 验证信息,所以无论你验证的是大范围爬取还是单次实时抓取,同样的检查方法都适用。
