lightmy.day

HTTP 標頭

Content-Security-Policy HTTP 標頭的含義

Content-Security-Policy 限制頁面資源可從何處載入。

含義

伺服器正傳送由瀏覽器強制執行的規則,適用於腳本、樣式、圖片、框架與其他資源類型。

出現位置

網頁應用程式會傳送它,以降低腳本注入、點擊劫持、混合內容與資料外洩的風險。

該檢查什麼

檢查被封鎖的資源回報、nonce 或 hash 策略、框架規則,以及政策是否過於寬鬆。

範例

Content-Security-Policy: default-src https:; img-src https: data:

常見值與指令

default-src
default-src 'self'未更明確設定的 fetch 指令所使用的後備來源清單。
script-src
script-src 'self' https://cdn.example控制 JavaScript 可從何處載入,以及哪些內嵌腳本樣式可執行。
style-src
style-src 'self' 'unsafe-inline'控制 CSS 可從何處載入,以及如何處理內嵌樣式。
img-src
img-src https: data:控制圖片可從何處載入。
connect-src
connect-src 'self' https://api.example控制 fetch、XHR、WebSocket、EventSource 及類似 API 所使用的 URL。
font-src
font-src https://fonts.example控制字型可從何處載入。
frame-src
frame-src 'self'控制此頁面可將哪些 URL 載入框架中。
frame-ancestors
frame-ancestors 'none'控制哪些父頁面可將此頁面嵌入框架中。
base-uri
base-uri 'self'限制 base 元素可使用哪些 URL。
object-src
object-src 'none'控制外掛式的 object、embed 與 applet 資源。
report-to
report-to default指定用於政策違規回報的回報端點群組。
report-uri
report-uri https://example.com/csp-report將政策違規回報傳送到某個 URL;較新的政策通常改用 report-to。

參考資料

相關 HTTP 標頭

相關 HTTP 狀態碼