【问题标题】:How can I find the source of a Content Security Policy violation report?如何找到内容安全政策违规报告的来源?
【发布时间】:2021-09-19 07:36:28
【问题描述】:

当我访问我的网页时,我在浏览器中收到内容安全政策违规报告:

[仅报告] 拒绝加载图像 '' 因为它违反 以下内容安全策略指令:“img-src 'self' ”。

当我调查 HTTP 响应标头时,Content-Security-Policy-Report-Only 标头或 Content-Security-Policy 标头似乎都不是由源服务器设置的。

如何找到此违规报告的来源?考虑到似乎没有设置相关标头,我不确定为什么会生成它。

【问题讨论】:

    标签: http security http-headers content-security-policy response-headers


    【解决方案1】:

    有两种可能:

    1.您在页面中嵌入了第三方 iframe。您观察到的违规行为属于该 iframe,它发布了自己的 CSP 标头。由于浏览器只有一个用于主页面和所有 iframe 的控制台,因此您也可以看到第三方 iframe 错误。
    尝试使用其他浏览器,其中一些可能更冗长并显示被阻止的 URI。无论如何,您与第三方 CSP 无关。

    2. 如果您访问不存在的网页,服务器的中间件可以为具有 4xx/5xx 状态码的页面发布默认 CSP。概率很低,因为Report-Only 模式在这种情况下不使用。

    不能在 HTTP 标头中而是在元标记中发布 Content-Security-Policy-Report-Only,因为元标记不支持 Report-Only 模式。因此我赌选择 1

    【讨论】:

    • 感谢您的想法@granty。第三方 CSP 最有可能是 2
    猜你喜欢
    • 2016-07-19
    • 1970-01-01
    • 2021-03-14
    • 1970-01-01
    • 2019-04-06
    • 1970-01-01
    • 2016-03-03
    • 2019-04-15
    相关资源
    最近更新 更多