Cloudflare「正在檢查您的瀏覽器」頁面會測試 API、瀏覽器怪癖與工作量證明,並結合 TLS 與 IP 信譽判斷。真實使用者為何會卡在驗證循環裡?
你點開一個連結,目標頁面沒出來,先跳出一個等待頁:舊版 Cloudflare 頁面寫著「Checking your browser before accessing…」(正在檢查您的瀏覽器),新版則是「Verifying you are human」(正在驗證您是否為真人)之類的提示,有時還附帶一個核取方塊。你沒有輸錯密碼,也沒做任何奇怪的操作,只是點了個連結。這是網路上最常見的打斷之一,而頁面本身幾乎什麼都不解釋。以下說清楚它實際在檢查什麼、Cloudflare 在檢查開始前已經掌握了你哪些資訊,以及為什麼一個再普通不過的訪客也會被困在循環裡。
核心要點
- 這個頁面是一次 Cloudflare 挑戰(Challenge):一段短腳本在你的瀏覽器裡跑一組非互動式測試——探測 Web API、尋找瀏覽器引擎特有的「怪癖」、完成小型工作量證明——並在網站載入前把結果交回去。依 Cloudflare 的說法,平均只需約一秒。
- 這只是一半。Cloudflare 早已替你的連線打過分數:TLS/HTTP-2 交握簽章、IP 信譽,以及 IP 所屬的網路(ASN)。你會不會看到驗證頁,很大程度取決於這個分數。
- 陷入循環通常是環境問題,而不是你的行為可疑:通行 Cookie 被封鎖、系統時間嚴重不準、擴充功能竄改了瀏覽器 API、共用的 VPN/資料中心/CGNAT IP、應用程式內建瀏覽器,或者被高度強化的瀏覽器。
- Cloudflare 已大致淘汰圖片驗證碼:它表示自己發出的驗證碼數量減少了 91%,並在挑戰頁上以 Turnstile 的核取方塊取代了驗證碼。
- 挑戰是一道閘門——對一次請求給出通過/不通過的判決。指紋檢測與機器人偵測工具則是鏡子:只把你的訊號照給你看,不做任何判決。
這個頁面到底在做什麼
當某個網站的 Cloudflare 安全設定判定一個請求在抵達來源伺服器前需要再看一眼,Cloudflare 就會先回傳一個挑戰插頁,而不是你要造訪的頁面。Cloudflare 對這個流程(Managed Challenge,受管理的挑戰)的描述是:先執行「一系列小型的非互動式 JavaScript 挑戰,蒐集更多關於訪客的訊號」,這些挑戰「包括但不限於工作量證明、空間證明、探測 Web API,以及各種偵測瀏覽器怪癖的挑戰」。只有當這些結果——以及瀏覽器執行它們時的表現——仍不足以下結論時,才會升級為需要你動手點擊的步驟。
Cloudflare 不公開具體的測試清單(公開了等於替繞過者畫好路線圖),但輸入訊號可以清楚分成兩類:
- **腳本在你瀏覽器裡蒐集的訊號。**工作量證明與空間證明任務,會讓瀏覽器實際花掉一小份可量測的運算力與記憶體。API 探測檢查瀏覽器宣稱支援的功能是否真的存在、行為是否與該引擎的真實表現一致。怪癖偵測則尋找那些真正的 Chrome、Firefox 或 Safari 才有、而偽造 User-Agent 的腳本通常模仿不出的引擎細節。這和本站指紋檢測呈現的訊號屬於同一家族,也是無頭瀏覽器偵測裡談到的那套一致性邏輯:自動化與偽裝環境往往會以真實瀏覽器不會出現的方式自相矛盾。
- **來自連線本身、任何頁面腳本都看不到的訊號。**瀏覽器的 TLS 交握與 HTTP/2 設定會形成一個獨立於 JavaScript 的簽章,具體如何構成請見TLS 指紋識別詳解。與之並列的,是你所用 IP 位址的信譽,以及擁有這個 IP 的網路(ASN)。這些在任何挑戰腳本執行之前就已在 Cloudflare 邊緣評估完畢——所以一個歷史乾淨的住宅 IP,和一個曾因爬蟲抓取遭檢舉的資料中心 IP,起點完全不同。
沒有哪個訊號能單獨決定結果。和自動化檢測技術裡描述的分層偵測體系一樣,挑戰是把許多弱訊號合成一個判決。
為什麼真人訪客也會被困在循環裡
如果你正盯著那個轉圈的載入圖示,這一節最有用。以下這些情況都不代表你做錯了什麼,只是挑戰會把它們讀成「拿不準」:
- **Cookie 被封鎖或被清除。**通過驗證後,Cloudflare 會寫入一個通行 Cookie(
cf_clearance),之後的請求就不必再查。如果瀏覽器設定或擴充功能封鎖了該網站的 Cookie,或每次載入都把它清掉,「已通過」的憑證就留不住,每個請求看起來都是全新的。 - **系統時間嚴重不準。**通行憑證是有時效的。裝置時鐘偏差夠大時,剛發下來的憑證可能被當成已過期或尚未生效,你就又被送回驗證頁。
- **竄改瀏覽器 API 的擴充功能。**偽造、封鎖 API 或替 API 加雜訊的反指紋擴充功能(Canvas 雜訊注入器是常見例子)不只是把你藏起來,還可能讓瀏覽器自相矛盾。這和一個只是透露得少一些的普通瀏覽器,在偵測方看來完全是兩回事。
- **共用的 VPN、資料中心或 CGNAT IP。**許多 VPN 出口節點和大部分資料中心網段,都曾在某個時候被某人用來發送濫用流量;電信業者級 NAT(CGNAT)則讓大量行動網路或家用寬頻使用者共用同一個位址。這份信譽記在 IP 上,而不是記在你身上——這也是 VPN 使用者遇到驗證遠比平均多的原因。
- **應用程式內建瀏覽器。**在社群或通訊 App 裡點開的連結,會在內嵌 WebView 中載入,它暴露的 API 往往比完整的獨立瀏覽器更少,也更不一致。
- **過舊或被高度強化的瀏覽器。**怪癖與 API 檢查預設瀏覽器應表現得像一個已知的、較新的引擎。版本非常舊,或隱私設定停用了 API、把指紋壓到最低,都可能看起來更像自動化而不是真人——挑戰很難分辨「強化了瀏覽器的人」和「偽裝成瀏覽器的腳本」。
卡住時可以試試這些
- 允許該網站使用 Cookie(或關閉會清除 Cookie 的擴充功能/設定),然後重新整理。
- 確認裝置的日期、時間與時區都設為自動。
- 對這個網站停用隱私或廣告攔截擴充功能,或換一個乾淨的瀏覽器設定檔試試。
- 如果連結是在某個 App 裡開啟的,改用平常的瀏覽器開啟。
- 切換網路——行動數據與 Wi-Fi 互換,或換一個 VPN 節點——換一個信譽不同的 IP。
- 仍然不行,就聯絡網站方,並附上驗證頁底部顯示的 Ray ID。安全等級由每個網站自行設定,Ray ID 能幫營運者找到你的那次請求。
從驗證碼到隱形檢查
傳統驗證碼要你主動證明點什麼——辨認扭曲的文字、從圖裡挑出紅綠燈——而且會打斷每一個看到它的訪客,真人也不例外。Cloudflare 在官方部落格文章《The end of the road for Cloudflare CAPTCHAs》中解釋了為何放棄這種模式:受管理的挑戰會把「是否出示圖片謎題」的決定延後到瀏覽器提供更多資訊之後。Cloudflare 表示,這讓它主動發出的驗證碼減少了 91%,訪客花在挑戰上的時間也「從平均 32 秒降到平均僅 1 秒」。
同樣的思路後來演變成了 Turnstile。Cloudflare 的描述是:它會執行「一系列瀏覽器內測試,檢查瀏覽器特徵與原生瀏覽器 API,並要求瀏覽器通過輕量級測試(例如工作量證明、空間證明測試)」。在《Cloudflare is free of CAPTCHAs; Turnstile is free for everyone》一文中,Cloudflare 表示已「以我們自己的核取方塊方案取代了驗證碼挑戰」。所以你偶爾看到的那個核取方塊並不是謎題,而是背景測試無法下結論時最後一個輕量步驟。「證明你是人類」不再意味著「幫我們解一道題」,而是「讓我們觀察你的瀏覽器一秒鐘」。
一道閘門,不是一面鏡子
Cloudflare 挑戰是一道閘門:它對一次具體請求給出通過/不通過的判決,而且這個判決有實際後果——要麼放行,要麼擋下。
CreepJS、BrowserLeaks,以及指紋測試工具為何對你眾說紛紜裡比較過的各種匿名度評分,則是鏡子。它們照出你自己的訊號——大致就是挑戰關心的那幾類——但沒有判決,也沒有後果。用它們測一遍瀏覽器,並不能告訴你某個網站的挑戰會不會放你過去,因為結果還取決於該網站的設定,以及這些工具看不到的連線層資料。它們能告訴你的,是挑戰可能注意到什麼。
接下來可以做什麼
想看看你的瀏覽器會暴露哪些與自動化相關的訊號,可以用 BrowserInsight 的機器人偵測工具逐項檢查——navigator.webdriver、無頭瀏覽器旗標,以及 Selenium/Puppeteer/Playwright 痕跡——而不是壓縮成一個籠統結論。如果日常使用的瀏覽器在那裡有項目被標出,它很可能就是挑戰在意的地方。
如果懷疑問題出在 IP 上,IP 檢測可以顯示你目前位址的 ASN 與黑名單狀態,VPN/代理檢測則顯示它看起來是否像 VPN、代理或資料中心。如果你根本沒開 VPN 卻仍被當成 VPN 使用者,明明沒用 VPN,為什麼還被判定為 VPN?解釋了 CGNAT、過時的 IP 資料與 ASN 誤分類如何造成這種誤判。
常見問題
「正在檢查您的瀏覽器」和驗證碼是同一件事嗎?
不是。驗證碼要你主動解題;「正在檢查您的瀏覽器」頁面執行的是自動、無需互動的測試,並把結果交回去。在 Cloudflare 上,只有這些測試無法下結論時,才會請你點一下核取方塊——即便如此,也沒有謎題要解。
為什麼每次載入頁面都會遇到同一個驗證?
幾乎總是因為驗證記不住你已經通過了——通常是 Cookie 被封鎖或清除、在私密/無痕模式下瀏覽,或某個擴充功能會清空網站資料。沒有這份「記憶」,每個請求都要從頭驗證。如果 Cookie 沒問題,再檢查一下系統時間。
用 VPN 會讓這種情況更頻繁嗎?
會,而且通常與你本人無關,而是出口 IP 的問題。VPN 與資料中心位址由很多人共用,只要這個位址以前發出過濫用流量,這份信譽就會帶進你的工作階段。換一個伺服器節點往往就能改善。
指紋或匿名度檢測工具能告訴我能否通過某個網站的驗證嗎?
不能直接告訴你。這些工具是鏡子——照出挑戰可能讀取的訊號,但不下判決。挑戰是閘門,它會把這些訊號與網站自身的安全設定、以及頁面層工具看不到的連線層資料(TLS、IP 信譽、ASN)結合起來,所以只有挑戰本身能給出結果。
強化過的隱私瀏覽器更容易被驗證嗎?
有可能——不是因為隱私工具本身可疑,而是因為被大量偽造或封鎖的訊號,看起來可能和一個試圖隱藏自動化痕跡的腳本相似。這是兩種截然不同的意圖碰巧看起來相像,並不代表隱私強化正被刻意針對。


