【发布时间】:2019-09-24 05:22:00
【问题描述】:
Content-Security-Policy HTTP 响应头字段是传递策略的首选机制
但是有两种有效的机制,通过 HTTP 标头传递,以及通过 HTML meta 元素传递:
<meta http-equiv="Content-Security-Policy" content="..."/>
为什么“首选”通过标头传递,或者更重要的是,通过 HTML meta 标记传递的缺点是什么?
由于各种原因,在我们的部署中,将 CSP 添加到 HTML 头部更易于管理。
【问题讨论】:
-
stackoverflow.com/questions/42444106/… 是相关的,但没有解决这个问题。
-
而且,继续评论我自己的问题,我意识到 http-equiv 元标记应该首先出现在标题中,因为它只适用于它后面的元素(所以也许这是一个原因“更喜欢”一个 http 标头...)
-
那和元标记的限制根据注释。 “元元素内不支持 Content-Security-Policy-Report-Only 标头。report-uri、frame-ancestors 和沙盒指令也不支持。”
-
@Alohci 所说的。但是,如果使用 meta 元素而不是 HTTP 标头对您来说没有任何可观察到的问题,并且正如您所说的在部署中更容易管理,那么使用 HTTP 标头对您来说没有任何优势。特别是如果您没有使用 Content-Security-Policy-Report-Only 标头并且没有使用 report-uri、frame-ancestors 或沙盒指令,那么只需在每个文档中指定元元素而不是使用HTTP 标头。
-
@Alohci,如果您发表评论作为答案,我会接受它,因为它看起来合适。
标签: html http-headers content-security-policy websecurity http-equiv