Content-Security-Policy: report-to directive

Baseline 2026
Newly available

Since March 2026, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Chỉ thị report-to trong Content-Security-Policy chỉ định tên của endpoint mà trình duyệt nên sử dụng để báo cáo vi phạm CSP.

Khi xảy ra vi phạm CSP, một báo cáo được tạo ra chứa một đối tượng CSPViolationReport được tuần tự hóa. Báo cáo này được gửi đến URL tương ứng với tên endpoint, sử dụng các cơ chế chung được định nghĩa trong Reporting API.

Máy chủ phải cung cấp riêng biệt ánh xạ giữa tên endpoint và URL tương ứng trong tiêu đề phản hồi HTTP Reporting-Endpoints.

Phiên bản CSP 3
Loại chỉ thị Reporting directive
Chỉ thị này không được hỗ trợ trong phần tử <meta>.

Cú pháp

http
Content-Security-Policy: …; report-to <endpoint_name>

<endpoint_name> là tên của một endpoint được cung cấp bởi tiêu đề phản hồi HTTP Reporting-Endpoints. Nó cũng có thể là tên của một nhóm được máy chủ cung cấp trong tiêu đề phản hồi HTTP Report-To Deprecated .

Cú pháp báo cáo vi phạm

Báo cáo vi phạm CSP là một đối tượng CSPViolationReport được tuần tự hóa JSON, với thuộc tính type có giá trị "csp-violation". Báo cáo được gửi đến các endpoint đích thông qua thao tác POST với Content-Typeapplication/reports+json.

JSON cho một báo cáo đơn có thể trông như sau:

json
{
  "age": 53531,
  "body": {
    "blockedURL": "inline",
    "columnNumber": 39,
    "disposition": "enforce",
    "documentURL": "https://example.com/csp-report",
    "effectiveDirective": "script-src-elem",
    "lineNumber": 121,
    "originalPolicy": "default-src 'self'; report-to csp-endpoint-name",
    "referrer": "https://www.google.com/",
    "sample": "console.log(\"lo\")",
    "sourceFile": "https://example.com/csp-report",
    "statusCode": 200
  },
  "type": "csp-violation",
  "url": "https://example.com/csp-report",
  "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36"
}

Ghi chú sử dụng

Chỉ thị report-to được thiết kế để thay thế report-uri, và các trình duyệt hỗ trợ report-to sẽ bỏ qua chỉ thị report-uri. Tuy nhiên, cho đến khi report-to được hỗ trợ rộng rãi, bạn có thể chỉ định cả hai chỉ thị như sau:

http
Content-Security-Policy: …; report-uri https://endpoint.example.com; report-to endpoint_name

Lưu ý rằng các ví dụ khác trong chủ đề này không hiển thị report-uri.

Ví dụ

Đặt endpoint báo cáo vi phạm CSP

Máy chủ có thể xác định ánh xạ giữa tên endpoint và URL bằng tiêu đề Reporting-Endpoints trong phản hồi HTTP. Bất kỳ tên nào cũng có thể được sử dụng: ở đây chúng tôi đã chọn name-of-endpoint.

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

Máy chủ có thể đặt tên endpoint này làm mục tiêu để gửi báo cáo vi phạm CSP bằng chỉ thị report-to:

http
Content-Security-Policy: default-src 'self'; report-to name-of-endpoint

Thông số kỹ thuật

Specification
Content Security Policy Level 3
# directive-report-to

Khả năng tương thích trình duyệt

Xem thêm