跳至主要内容

[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 上提供的許多範例