[IS] Content Security Policy
Content Security Policy @ MDN
說明
**CSP(Content Security Policy)**主要是用來避免 XSS 攻擊(Cross-site Scripting)和資料側錄的政策,它主要是透過 server 回傳給瀏覽器的 header 中,告訴瀏覽器(user agent)哪些第三方載入的程式碼是可以被執行的,或者可以限制一定要使用 HTTPS 才能與伺服器建 立連線等。
若要啟用 CSP,只需在伺服器回傳的 header 中,加上 Content-Security-Policy
的標頭,並且定義允許載入哪些外部資源。或者也可以透過 HTML 中的 <meta>
標籤來進行宣告。
備註
如果你看到的是 X-Content-Security-Policy
,這是舊版的用法,
另外,Content-Security-Policy 的定義中也提供 report-uri https://example.com
的欄位,一旦偵測到有違犯 CSP 的資源,瀏覽器即會發送 POST 請求到指定的 URI,並以 JSON 格式回傳報告。
範例
定義 CSP 的方式可以參考 MDN 上提供的許多範例。