我们可以隐藏 Content-Security-Policy 错误日志的 URL 吗?

Can we hide URL of Content-Security-Policy error log?

当我们使用 CSP 时,我们可以为它输入一个日志错误 URL,每次发生错误时,错误的详细信息都会发送到 URL,我可以记录它,大家都知道我们的 CSP URL 日志错误不是很危险吗?例如每个人都可以向 CSP 发送虚假数据 URL 记录错误。
我们可以从 public 中隐藏它吗?

content-security-policy: default-src 'self'; report-uri /api/CspReport/Log

您无法隐藏 CSP 报告端点,CSP 设计者认为公开它是安全的。

向 CSP 端点发送垃圾邮件毫无意义,因为:

  • 精心制作的 CSP 端点会检查允许发送报告的域并拒绝虚假报告。
  • 如果使用服务器的垃圾邮件,CSP 端点可以通过 IP 轻松阻止这些。
  • 如果某些网站会使用隐藏脚本来发送虚假报告,报告将与访问者的 IP 一起发送。但是 CSP 报告发送时带有强制引用字段和 AFAIK,对于 CSP,这不能在浏览器设置中禁用。因此,您可以通过推荐人阻止虚假报告。

由于这种垃圾邮件没有投资回报率(return投资),所以没有人会浪费他的资源。

注意:如果您很在意,可以通过散布飞机来防御导弹的虚假目标类型来组织防护。
您可以在 report-uri 中指定很多 CSP 端点,只有一个是真实端点。其他的什么都不做,只是 returns 204 No content 或 200 OK 就像真正的 CSP 端点一样。

对于端点,您也可以在您的域中生成一个随机子域并定期更改它。