---
title: "CSP 报告与 Reporting API:report-uri 与 report-to 的演进"
keywords:
- CSP
- report-uri
- report-to
- Report-Only
- 违规上报
- 报告端点
description: "梳理 CSP 的报告模式与两种上报机制的差异,解释 Report-Only 的试运行方式与 JSON 报文结构,并提供部署建议与参考链接。"
categories:
- 文章资讯
- 技术教程
---
概述
CSP 支持强制与仅报告两种模式。仅报告(Report-Only)用于迭代策略并收集违规事件。上报机制从早期的 report-uri 发展到使用 Reporting API 的 report-to,后者定义了统一的报告端点与 JSON 格式。
报告机制
Content-Security-Policy-Report-Only:不阻断,仅上报违规;可与强制策略并存,用于灰度与调试[参考1,2]。report-uri:通过 POST 将application/csp-reportJSON 上报到指定 URI;包含csp-report的详细字段[参考3,4]。report-to:基于 Reporting API,将报告发送到命名的端点,JSON 中包含type: "csp-violation"和CSPViolationReportBody结构[参考5]。
部署建议
- 先以 Report-Only 收集违规并迭代;确认后切换至强制策略并保留上报以监控。
- 后端端点记录 JSON 并关联用户代理、源页面、指令与被阻止资源,做聚合与告警。
参考与验证
- [参考1]MDN:CSP 指南与 Report-Only 模式说明与 Safari 兼容性注意:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Guides/CSP
- [参考2]MDN:
Content-Security-Policy-Report-Only头与report-uri配合示例:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Reference/Headers/Content-Security-Policy-Report-Only - [参考3]MDN 英文:
report-uri指令与报文结构与服务端示例:https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/report-uri - [参考4]MDN 英文:
report-uri指令说明与 JSON 字段示例:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/report-uri - [参考5]MDN:
report-to指令与 Reporting API 的 JSON 报告结构:https://developer.mozilla.org/docs/Web/HTTP/Headers/Content-Security-Policy/report-to
关键词校验
关键词覆盖 CSP 报告与两种机制,与正文一致。

发表评论 取消回复