Content-Security-Policy-Report-Only 頭部

Baseline 已廣泛支援

此功能已相當成熟,可在多種裝置和瀏覽器版本上執行。自 ⁨2016 年 8 月⁩ 起,所有瀏覽器均已提供此功能。

HTTP Content-Security-Policy-Report-Only 響應頭部有助於監控內容安全策略 (CSP) 違規及其影響,而無需強制執行安全策略。此頭部允許你在應用和強制執行特定 Content-Security-Policy 之前測試或修復違規行為。

要傳送報告,必須指定 CSP report-to 指令:如果未指定,則操作將不起作用。

違規報告使用 Reporting API 傳送,傳送到在 Reporting-Endpoints HTTP 響應頭部中定義的端點,並透過 CSP report-to 指令選擇。

有關更多資訊,請參閱我們的 內容安全策略 (CSP) 指南。

注意:此頭部也可以與已廢棄的 report-uri 指令一起使用(該指令正在被 report-to 替換)。用法和生成的報告語法略有不同;有關更多詳細資訊,請參閱 report-uri 主題。

頭型別 響應頭
禁止請求頭
此頭部不支援在 <meta> 元素中使用。

語法

http
Content-Security-Policy-Report-Only: <policy-directive>; …; <policy-directive>; report-to <endpoint-name>

指令

Content-Security-Policy-Report-Only 頭部支援所有 Content-Security-Policy 指令,但 sandbox 除外,該指令將被忽略。

注意:此頭部應與 CSP report-to 指令一起使用,否則將不起作用。

示例

使用 Content-Security-Policy-Report-Only 傳送 CSP 報告

要使用 report-to 指令,你需要首先使用 Reporting-Endpoints 響應頭部定義一個相應的端點。在下面的示例中,我們定義了一個名為 csp-endpoint 的單一端點。

http
Reporting-Endpoints: csp-endpoint="https://example.com/csp-reports"

然後我們可以使用 report-toreport-uri 定義報告的目的地,如下所示。請注意,如果頁面不安全地載入資源或從內聯程式碼載入,則會觸發此特定報告。

http
Content-Security-Policy-Report-Only: default-src https:;
  report-uri /csp-report-url/;
  report-to csp-endpoint;

注意:report-to 指令優於已廢棄的 report-uri,但我們同時宣告兩者,因為 report-to 尚未獲得完整的跨瀏覽器支援。

規範

規範
內容安全策略級別 3
# cspro-頭部

瀏覽器相容性

另見