文章 ·

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