瀏覽器政策界線
CSP 與 CORS:不同的瀏覽器界線,不是安全證書
CSP 限制受保護文件可載入或執行的內容;CORS 控制瀏覽器是否將跨來源回應提供給請求端腳本。兩者都不是身分驗證。
內容更新: · 維護者與修正回報
依明確需求部署 CSP
只允許應用程式實際需要的來源。過廣的萬用字元、unsafe-inline 或 unsafe-eval 可能抵銷重要限制。Report-Only 只觀察違規而不阻擋,與正式強制標頭不同;切換前請測正常頁、錯誤、第三方整合及瀏覽器支援。
nonce 占位符需要伺服器整合:每次回應產生不可預測的新值,並套用於預定元素。CSP 規格建議編碼前至少 128 bits。勿將固定示範 nonce 貼進正式環境,或讓不可信標記取得 nonce;政策不能取代正確輸出跳脫與授權。
CORS 管的是回應分享
帶憑證的跨來源讀取,Access-Control-Allow-Origin 須符合序列化來源,Access-Control-Allow-Credentials 須為區分大小寫的 true;萬用字元來源不足以通過。預檢成功,也不能彌補最終回應缺少 CORS 標頭。
Authorization 必須明確允許,不能靠 Access-Control-Allow-Headers: * 涵蓋。方法、標頭安全清單、憑證模式及提供的值會影響預檢。回應被阻擋讀取,不代表沒有接觸伺服器或狀態修改未生效;CORS 不是 CSRF 防護或 API 存取控制系統。
分清模擬與正式驗證
工具只處理提供的設定,不接觸伺服器、不跟隨重新導向,也不檢查 TLS、Cookie 政策、瀏覽器擴充或預檢快取。遇到不符時應檢查實際網路紀錄與部署設定,而不是不斷放寬政策直到警告消失。
資料可信度