CORS 跨來源設定檢測

CORS 跨來源設定檢測

檢查指定 Origin 的簡單請求、OPTIONS 預檢、憑證、方法與請求標頭授權。

範例: 工具只傳送安全的 GET 與 OPTIONS 請求,不執行寫入操作,也不儲存歷史記錄。

CORS 檢測結果

尚未開始檢測

輸入公開資源網址和請求來源,開始檢查跨來源回應與預檢行為。

CROSS-ORIGIN ACCESS

什麼是 CORS 跨來源資源共享?

CORS(Cross-Origin Resource Sharing)是瀏覽器執行的跨來源存取規則。伺服器透過 Access-Control-Allow-* 回應標頭說明哪些網頁來源、方法、請求標頭和憑證可以讀取資源。

CORS 不是伺服器端身分驗證,也不會阻止瀏覽器以外的用戶端發出請求;它控制瀏覽器是否把跨來源回應提供給頁面指令碼。

Origin

比對頁面的通訊協定、主機與連接埠。

Preflight

核准方法與請求標頭。

最小權限

只向可信 Origin 開放資源。

為什麼需要檢測 CORS 設定?

CORS 經常同時經過 CDN、API 閘道、反向代理和應用程式框架。白名單、快取或預檢任一層設定錯誤,都可能導致前端呼叫失敗或敏感資料被不受信任來源讀取。

定位跨來源失敗

分別查看 GET 與 OPTIONS,確認來源、方法或標頭授權問題。

發現過度開放

檢測任意 Origin 反射與不安全的萬用字元、憑證組合。

核驗快取行為

檢查 Vary: Origin,降低 CDN 或共享快取混用授權回應的風險。

CORS 檢測工具如何運作?

工具模擬瀏覽器跨來源交握,但不會執行可能修改目標資料的業務請求。

  1. 01

    驗證公開網路目標

    拒絕本機、內網和保留位址,並驗證 GET 重新導向。

  2. 02

    傳送簡單 GET

    攜帶指定 Origin,讀取資源的實際跨來源標頭。

  3. 03

    測試來源反射

    使用獨立探測 Origin 判斷伺服器是否無條件回顯。

  4. 04

    模擬 OPTIONS 預檢

    檢查方法與標頭是否獲准,不傳送寫入請求。

如何理解 CORS 檢測結果?

判斷必須結合資源用途。一般網頁或只供同源呼叫的 API 沒有 CORS 標頭是正常的;只有需要被其他來源的瀏覽器頁面讀取時,阻止狀態才代表功能問題。

允許存取

指定 Origin 的 GET 和預檢均通過,仍應確認該來源確實可信。

已阻止 / 部分允許

瀏覽器無法完成全部請求;先確認業務是否真的需要跨來源存取。

高風險設定

發現任意來源反射或憑證組合問題,應優先收緊白名單。

CORS 跨來源檢測常見問題

沒有 Access-Control-Allow-Origin 就是網站故障嗎?+

不是。一般網頁和只供同源使用的 API 通常不需要 CORS。只有預期被其他來源的瀏覽器頁面讀取時,缺少授權才會造成跨來源功能失敗。

CORS 會直接提升 SEO 排名嗎?+

不會。搜尋引擎沒有把 CORS 標頭當作一般排名加分項;正確設定有助於前端功能和資源可用性,但不能取代可抓取 HTML、內容品質與效能。

Access-Control-Allow-Origin 可以填寫多個網域嗎?+

單次回應不能傳回逗號分隔的多個來源。伺服器應驗證 Origin 並只傳回一個獲准來源,同時設定 Vary: Origin。

為什麼要檢測 OPTIONS 預檢?+

非簡單方法、自訂標頭或特定 Content-Type 會先觸發 OPTIONS。即使 GET 允許跨來源,預檢失敗仍會阻止實際請求。

允許憑證時為什麼不能使用星號?+

瀏覽器不接受 Access-Control-Allow-Origin: * 與憑證模式同時使用。需要 Cookie 或授權資訊時必須傳回明確、可信的 Origin。