開發者 / 安全性政策

CSP產生器:建立與分析內容安全性政策

使用來源清單、nonce與hash預留位置、報告指令及常見預設範本,建立Content-Security-Policy標頭。檢視警告,並複製HTTP、meta、nginx、Apache或靜態 _headers輸出。

CSP產生器:建立與分析內容安全性政策: 在本機建立政策,並標示unsafe-inline、unsafe-eval、過於寬泛的來源、重複指令及部署用預留位置。解析器會保留未知指令,並對重複指令採用首次出現的內容。工具一次分析一份政策,不會載入受保護的頁面。 全程在瀏覽器中於本機執行,檔案不會上傳至伺服器。

使用次數
在瀏覽器中
費用
免費・免註冊
可用狀態
可立即使用
內容安全性政策展示台本機處理

全程在瀏覽器中執行

預設會取代目前的政策。請先使用僅回報標頭進行測試。Nonce 佔位符需要整合伺服器;靜態標頭無法產生新的 nonce。

指令碼來源權杖

script-src · strict-dynamic需要有效的nonce或hash,並會在支援的瀏覽器中覆寫主機允許清單。

script-src · 部署前請替換nonce和hash預留位置。每次回應都要產生全新且不可預測的nonce。

Meta政策無法強制執行frame-ancestors或sandbox、使用report-uri,或傳送僅報告政策。此處會省略回報指令。

這是語法和風險檢視,不是安全性稽核。未知或格式錯誤的來源運算式需要在瀏覽器中測試。額外政策會一起強制執行,無法放寬較早的政策。產生的 _headers 檔案適用於靜態回應;動態回應需要各自的標頭設定。

政策語法與傳送

W3C Content Security Policy Level 3:https://www.w3.org/TR/CSP3/。指令以分號分隔,值則以空白字元分隔。透過meta傳送的功能少於HTTP回應標頭。

Nonce、hash與部署

MDN Content Security Policy指南:https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP。strict-dynamic會將信任從以nonce或hash授權的指令碼轉移到其載入的指令碼,在支援的瀏覽器中覆寫主機允許清單。請稽核受信任指令碼的行為,並測試最終政策。

使用方式

  1. 選擇預設範本,或貼上一份現有政策。
  2. 啟用指令並編輯以空格分隔的值,然後檢視警告。
  3. 選擇輸出格式、複製內容,並針對網站的資源進行測試。

隱私與限制

您的政策會留在瀏覽器中。不會聯絡任何網站。

相關工具

常見問題

可以直接使用nonce預留位置嗎?

不行。請為每個回應產生不可預測的nonce,並將對應值放在受信任的程式碼上。固定的靜態標頭無法產生nonce。請將hash預留位置替換成目標內容的實際hash。

meta政策無法執行哪些功能?

它無法執行frame-ancestors或sandbox、使用report-uri,或傳送僅報告政策。產生的meta輸出會省略報告指令,且必須放在文件head的前段。

report-to會建立報告端點嗎?

不會。它只會指定一個群組,仍需要另外提供Reporting-Endpoints回應標頭。report-uri較舊,瀏覽器支援情況不一。此工具不會傳送報告。

這些預設範本一定能在我的網站上運作嗎?

不一定。請先使用僅報告的HTTP傳送方式,並檢查網站所需的資源。現有政策會與新政策共同套用;第二份政策無法放寬較早政策的限制。靜態 _headers傳送方式不涵蓋動態產生的回應。

免費工具・使用在瀏覽器中次・免註冊