当我有两个 CSP(内容安全策略)策略 - 标头和元时会发生啥?
Posted
技术标签:
【中文标题】当我有两个 CSP(内容安全策略)策略 - 标头和元时会发生啥?【英文标题】:What is happening when I have two CSP (Content Security Policies) policies - header & meta?当我有两个 CSP(内容安全策略)策略 - 标头和元时会发生什么? 【发布时间】:2018-12-11 10:31:38 【问题描述】:问题是关于 CSP 服务两次:
如果有一个通过Content-Security-Policy
HTTP 响应标头提供的策略以及另一个通过<meta />
元素指定的策略,会发生什么行为?
这两者会以某种方式合并吗?或者哪个优先? (我在规范中找不到明确的信息)。
特定用例可能是通过 HTTP 响应标头提供 Report-to
并将所有其他限制放在 <meta />
元素中 - 因为其中一些是由 webpack 生成的 - 如果我不应该担心 <meta />
被 HTTP 响应标头策略淡化。
【问题讨论】:
【参考方案1】:如果您在 Content-Security-Policy
HTTP 标头和 meta
元素中都指定了 CSP 指令,则浏览器将使用限制性最强的 CSP 指令,无论在何处指定。
在https://w3c.github.io/webappsec-csp/#multiple-policies 上查看多个策略的详细信息,在https://w3c.github.io/webappsec-csp/#meta-element 上查看有关使用meta
元素的详细信息:
通过
meta
元素指定的策略将被强制执行 任何其他对受保护资源有效的策略,无论 指定它们的位置。强制执行多个的一般影响 §8.1 多个策略的影响中描述了策略。8.1。多重政策的影响
影响是向政策列表中添加其他政策 强制执行只能进一步限制受保护资源的能力。
【讨论】:
以上是关于当我有两个 CSP(内容安全策略)策略 - 标头和元时会发生啥?的主要内容,如果未能解决你的问题,请参考以下文章