在3。 CSP 政策交付 它说
Content-Security-Policy HTTP 响应标头字段是传递策略的首选机制
但是有两种有效的机制,通过 HTTP 标头传递和通过 HTML
meta
元素传递:
<meta http-equiv="Content-Security-Policy" content="..."/>
为什么通过标头交付是“首选”,或者也许更重要的是,通过 HTML
meta
标签交付有哪些缺点?
由于种种原因,在我们的部署中,将CSP添加到HTML头更易于管理。
这个问题好像已经在评论里回答了,但是没有人有几分钟的时间来写回复,所以我自己尝试一下。
与通过 HTML 元元素传递相比,通过 HTTP 响应传递的Content-Security-Policy 支持一些额外的功能,例如 Content-Security-Policy-Report-Only 和 report-uri、frame-ancestors 和沙箱指令。
但是,如果您不需要使用任何这些功能,那么使用 HTTP 标头就没有优势。
请注意,使用 HTML 方式时,
http-equiv
元标记应首先出现在标头中,因为它仅适用于其后面的元素。
在大型组织中,负责设置 CSP 的人员与负责网页内容的人员不同。当适用多项政策时,必须全部执行。开发人员(通过元)不能放宽系统管理员(通过http响应)制定的策略。安全负担从所有开发人员转移到有限的管理员组。