Content-Security-Policy HTTP 响应头字段是传递策略的首选机制
但是有两种有效的机制,通过 HTTP 标头传递和通过 HTMLmeta
元素传递:
<meta http-equiv="Content-Security-Policy" content="..."/>
为什么“首选”通过标头交付,或者更重要的是,通过 HTMLmeta
标记交付的缺点是什么?
由于各种原因,在我们的部署中,将 CSP 添加到 HTML 头部更易于管理。
Content-Security-Policy HTTP 响应头字段是传递策略的首选机制
但是有两种有效的机制,通过 HTTP 标头传递和通过 HTMLmeta
元素传递:
<meta http-equiv="Content-Security-Policy" content="..."/>
为什么“首选”通过标头交付,或者更重要的是,通过 HTMLmeta
标记交付的缺点是什么?
由于各种原因,在我们的部署中,将 CSP 添加到 HTML 头部更易于管理。
这个问题好像评论里已经回答过了,但是没有人有几分钟的时间来写回复,所以我自己试试。
与通过 HTML 元元素交付相比,通过 HTTP 响应交付的 Content-Security-Policy 支持一些额外的功能,例如Content-Security-Policy-Report-Only和report-uri、frame-ancestors和沙盒指令。
但是,如果您不需要使用任何这些功能,则使用 HTTP 标头没有任何优势。
请注意,使用 HMTL 方式时,http-equiv
元标记应首先出现在标头中,因为它仅适用于其后的元素。