Security Header / CSP 產生器

產生 Content-Security-Policy、HSTS、X-Content-Type-Options 等安全標頭,支援 nginx 與 vercel.json 格式,並提示常見的自傷設定。

瀏覽器端執行:輸入與輸出不會傳送到伺服器,平台也不會保存你的輸入內容。

輸入

內容不會被保存

多個來源用空白或逗號分隔。

輸出

填入左側欄位後按下執行。

使用方法

  1. 1選擇強度,並把頁面實際會載入的第三方來源填進對應欄位。
  2. 2選擇輸出格式,複製到伺服器設定或 vercel.json。
  3. 3先用 Report-Only 上線觀察幾天,確認 Console 沒有誤擋,再改成正式模式。

常見問題

為什麼要先用 Report-Only?

CSP 一旦寫錯就會直接擋掉頁面上的腳本或樣式,而且往往只在特定頁面出錯。Report-Only 讓瀏覽器照常載入但回報違規,可以在不影響使用者的情況下把清單補齊。

'unsafe-inline' 為什麼不好?

它等於允許頁面上任何 inline 腳本執行,而 XSS 注入的正是 inline 腳本。用 nonce 或 hash 才能只放行你自己輸出的那幾段。

nonce 要怎麼產生?

每一次請求都要產生一組新的隨機值(例如 16 bytes 的 base64),同時放進 CSP 標頭與該次回應的 script 標籤。重複使用同一組 nonce 等於沒有保護。

HSTS preload 有什麼風險?

preload 清單內建在瀏覽器裡,送出後要移除得等好幾個版本。它也會套用到所有子網域,只要有一個子網域沒有 HTTPS 就會整個連不上。

資料會上傳嗎?

不會。這是純字串產生,完全在瀏覽器執行,不需登入也不消耗任何額度。