IP 判官 ipjudge.org

文章 ·

chatgpt.com、claude.ai 一直弹 Cloudflare 人机验证:原因和自查步骤

打开 chatgpt.com 或 claude.ai,页面停在「Just a moment…」转圈,或者一个「Verify you are human」勾选框,点完又回到原处,这是两家网站前面的 Cloudflare 在做人机验证。按 Cloudflare 的排查文档,反复验证的常见原因有三类:浏览器没能完成验证(脚本被扩展拦截、Cookie 或 JavaScript 被禁用、系统时间不准),验证途中出口 IP 变了,或者 Cloudflare 认为这次访问像自动程序(例如 IP 信誉差)。前两类可以自己排查;至于验证开不开、对哪些流量更严,由 OpenAI、Anthropic 在 Cloudflare 里设置,这些设置没有公开。

一图看懂:验证一直循环,按顺序查先换一个干净的浏览器配置并关掉扩展;再确认 JavaScript、Cookie 已允许、系统时间准确;然后换一个网络对照,判断是不是出口 IP 的问题;再用 IP 判官看出口类型、风险名单和出口是否稳定。仍不行,验证规则由网站方设定且未公开,记下 Ray ID 联系平台。 一图看懂:验证一直循环,按顺序查 1 换个干净的浏览器配置 浏览器 无痕窗口或新配置文件,关掉所有扩展 2 允许 JavaScript 和 Cookie 浏览器 系统时间设为自动;浏览器更新到最新 3 换一个网络对照 网络 换了就好,问题多半在出口 IP 4 用 IP 判官看出口 网络 IP 类型、风险名单、刷新后出口变不变 5 还不行:交给网站方 规则由 OpenAI、Anthropic 设定,未公开 记下 Ray ID,联系平台客服 出处:Cloudflare 验证排查文档、OpenAI 帮助中心
前两步排除浏览器自身的问题,第三步分清是不是 IP 的问题;验证规则本身只有网站方能改。

这是 Cloudflare 的验证页

两家网站都接在 Cloudflare 后面。我们在 2026 年 10 月 1 日用命令行工具 curl 直接请求两个首页,都返回 403,响应头带 cf-mitigated: challenge。按 Cloudflare 的说明,这个头表示返回的是验证页。curl 不能运行 JavaScript,本来就在 Cloudflare 不支持的环境里,所以这只说明验证确实开着,不代表普通浏览器也会被拦。

Cloudflare 的验证页文档把整页验证分成三种,由网站方在规则里选:

  • 非交互式验证:浏览器自动运行一段 JavaScript,通常不到 5 秒,访客只需等待。
  • 托管验证(Managed Challenge):Cloudflare 按浏览器信号决定出哪种验证。大多数真人会自动通过,页面显示「Successful」;检测到非人类特征时才要求点一下。Cloudflare 建议多数规则用这一种。
  • 交互式验证:必须点击才能通过。

还有一种是 Turnstile:不拦整页,而是嵌在登录、注册表单里的小部件,多数时候自动完成,必要时显示一个复选框。Cloudflare 说明,它和验证页用的是同一套底层机制。

通过验证后,浏览器会存下一个 cf_clearance Cookie,之后的请求带着它就不再验证。有效期由网站方在 Challenge Passage 里设置,默认 30 分钟。按 Clearance 说明,开了 Precursor 功能的网站会在整个会话里持续评估,判断会话可疑时,Cookie 没过期也可能要求重新验证。

一次验证怎么完成,循环卡在哪打开 chatgpt.com 或 claude.ai 时,Cloudflare 按网站方设定的规则决定要不要验证;浏览器运行验证脚本,通过后写入 cf_clearance Cookie,默认 30 分钟内不再验证。脚本被拦、Cookie 被禁、系统时间不准、验证途中出口 IP 变了,或信号一直像自动程序,就会再弹一次,形成循环。 一次验证怎么完成,循环卡在哪 1 打开 chatgpt.com 或 claude.ai 2 Cloudflare 按网站方的规则判断 IP 信誉、机器人分数、地区等,细则未公开 3 浏览器运行验证脚本 多数人自动通过,可疑时才要点一下 通过:写入 cf_clearance 放行 有效期内不再验证,默认 30 分钟 没通过或 Cookie 没存下 再弹一次 扩展、防火墙拦了验证脚本 禁用了 Cookie 或 JavaScript 系统时间不准 验证途中出口 IP 变了 信号一直像自动程序 出处:Cloudflare Challenges 文档;有效期由网站方设置
循环就是每次验证都没换到有效的 cf_clearance,或者很快失效,下一次请求又被拦下。

Cloudflare 公开了哪些判断依据

Cloudflare 的排查文档说,真人访客被意外要求验证,通常是某项安全功能标记了这次请求,来源包括:IP 的风险分数高;IP 信誉差,即这个 IP 有可疑活动的历史;流量看起来像自动程序;网站方的 WAF 自定义规则,可能针对特定地区或 User-Agent;浏览器完整性检查。

其中自动程序的判断靠机器人分数:每个请求 1 到 99 分,1 表示几乎确定是自动程序,99 表示几乎确定是真人。模型的输入是请求的各种特征,Cloudflare 列出的有请求头、会话特征和浏览器信号;缺少 User-Agent 的请求会直接得 1 分。各项的具体权重没有公开。

为什么会一直循环

Cloudflare 的验证排查页说,循环只在检测到强烈机器人信号的特定情况下出现,列出的原因是:

  • 网络不稳定,验证没能完成;
  • 浏览器设置或扩展拦了验证需要的脚本,例如广告拦截、脚本拦截、防指纹类扩展;
  • 浏览器不受支持或太旧;
  • JavaScript 被禁用;
  • 检测误判:怀疑是机器人行为,就反复要求验证。

文档其他几处还提到:

  • 访客必须允许 JavaScript 和 Cookie,否则任何一种验证都过不了(出处)。
  • 系统时钟不准会让验证超时或失败(Turnstile 错误码 110600、200100)。这里指电脑时间本身不准,不是时区设置。
  • 从一个 IP 收到验证、从另一个 IP 提交,验证无效,可能陷入循环(出处)。按这条推断,代理软件在验证过程中自动切换线路或轮换出口,就可能碰上。
  • 修改 User-Agent 或 Canvas、WebGL 的扩展,Cloudflare 明确不支持;开发者工具里的设备模拟、User-Agent 覆盖也会改变浏览器信号。
  • IP 信誉差的情况,常见于多人共用的 VPN 和公司代理。

自己能查什么

OpenAI 帮助中心的登录排查页有一节专讲 Cloudflare 验证循环(「Checking your browser…」),和 Cloudflare 的建议基本一致。按从易到难:

  1. 用无痕窗口,或新建一个浏览器配置文件再试,排除扩展和缓存的影响。
  2. 暂时停用广告拦截、隐私、脚本拦截类扩展。OpenAI 还提到,Cookie 同意弹窗和 Cookie 管理工具也可能挡住验证。
  3. 允许 chatgpt.com、openai.com、auth.openai.com 的 Cookie(包括第三方 Cookie)和 JavaScript。
  4. 把浏览器更新到最新版,系统时间设为自动同步;可以用 Cloudflare 的 Turnstile 检测页测一次兼容性。
  5. 关掉开发者工具里的设备模拟和 User-Agent 覆盖。
  6. 换一个网络对照,例如从公司 Wi-Fi 换到手机流量。换了就好,问题多半在原来那个网络的出口 IP。OpenAI 和 Cloudflare 都建议排查时暂时关掉 VPN 或代理。
  7. 在公司、学校等受管网络上,OpenAI 说可能需要网管放行 Cloudflare 的验证。

用 IP 判官看出口

验证循环和 IP 有没有关系,可以在首页或 ChatGPT、Claude 专项页的「浏览器与连接检查」里看:

  • 「访问 ChatGPT 的 IP」「访问 Claude 的 IP」两行,是直接问 chatgpt.com、claude.ai 得到的出口,也就是 Cloudflare 看到的 IP。看它的类型和风险名单:被标为代理 / VPN、命中滥用名单的地址,更可能落在 Cloudflare 说的「信誉差」一类。IP 判官查的是公开数据库和名单,不是 Cloudflare 自己的评分,两者不一定一致。
  • 刷新几次,看这两行的 IP 变不变。出口频繁变化,就可能碰上「收到验证和提交验证不是同一个 IP」。
  • 「自动化痕迹」一行:navigator.webdriver 为 true、User-Agent 和平台对不上、无头浏览器,都属于 Cloudflare 不支持的环境。
  • 开着 Cloudflare WARP 时会有单独提示,见 开着 WARP,Claude、ChatGPT 看到什么。

IP 类型怎么判,见判定方法和住宅 IP、机房 IP 有什么区别;风险名单怎么扣分,见纯净度评分;其他信号见 Claude 验证的 6 个网络信号。

哪些只有网站方能改

Cloudflare 的说明写得很直接:访客遇到验证,Cloudflare 员工无法替你去掉,只有网站所有者能改设置。用哪种验证、对哪些地区或网络更严、机器人分数低于多少就验证、通过后多久不再验证,都是网站方的选择;Cloudflare 排查文档里的示例规则,就有按 ASN 拦截或验证 AWS、Google Cloud 流量的写法。OpenAI、Anthropic 用了哪些规则没有公开,所以从外部无法确定某个 IP 为什么被验证。

两家帮助中心能查到的:OpenAI 除了上面那节,另有一页说明「Sorry, you have been blocked」是 Cloudflare 的 IP 封锁,可能原因包括 VPN 和来自高风险地区的 IP,临时封锁过一段时间可能解除。Claude 帮助中心目前没有专讲 Cloudflare 验证的文章,登录出错时的排查步骤是:不要用 VPN、停用浏览器扩展、清除缓存和 Cookie。

都试过仍然循环,Cloudflare 建议记下验证页上的 Ray ID,抓一份 HAR(开发者工具里勾选 Preserve log)和控制台日志,交给网站方;Turnstile 小部件里也有 Submit Feedback 入口。OpenAI 也要求联系支持前先录一份 HAR。

常见问题

换无痕窗口就好了,说明什么?

问题多半在原来配置里的扩展、Cookie 或缓存。逐个打开扩展,找出拦截验证脚本的那一个。Cloudflare 点名的有广告拦截、脚本拦截、防指纹,以及修改 User-Agent、Canvas、WebGL 的扩展。

一直转圈,和「Sorry, you have been blocked」是一回事吗?

不是。转圈或勾选框是验证,还有机会通过;「Sorry, you have been blocked」是拦截,换浏览器配置没有用。OpenAI 给的办法是关掉 VPN、换个网络位置,或等一段时间。

机房 IP 一定会被要求验证吗?

没有公开资料能这么说。Cloudflare 把 IP 信誉列为来源之一,也允许网站方按 ASN 写规则;OpenAI、Anthropic 是否这样做、针对哪些网络,没有公开。

过一会儿又要验证,正常吗?

正常。cf_clearance 有有效期,默认 30 分钟,网站可以改;开了 Precursor 的网站还会在会话中持续评估。清除 Cookie 后也要重新验证。

开发者工具里看到 401,是被拦了吗?

不一定。按 Cloudflare 的说明,验证页会向 /cdn-cgi/challenge-platform/…/pat/… 请求 Private Access Token;设备、浏览器或网络(包括某些 VPN)给不出令牌时返回 401,这是正常流程,会改用普通验证。

想知道你自己的 IP 属于哪一类?

免费检测我的 IP