为什么 Content-Security-Policy 通过 headers "preferred" 交付?
Why is delivery of Content-Security-Policy via headers "preferred"?
The Content-Security-Policy HTTP response header field is the preferred mechanism for delivering a policy
但是有两种有效机制,通过 HTTP header 传送,以及通过 HTML meta
元素传送:
<meta http-equiv="Content-Security-Policy" content="..."/>
为什么要通过 header "preferred" 交付,或者更重要的是,通过 HTML meta
标签交付的缺点是什么?
出于各种原因,在我们的部署中,将 CSP 添加到 HTML 头部更易于管理。
看来这个问题在评论里已经回答过了,但是没人有时间写回复,我自己试试
Content-Security-Policy 与通过 HTML 元元素传送相比,通过 HTTP 响应传送支持一些额外的功能,例如 Content-Security-Policy-Report-Only和report-uri、frame-ancestors和沙盒指令.
但是,如果您不需要使用这些功能中的任何一个,则使用 HTTP header 没有任何优势。
请注意,使用 HMTL 方式时,http-equiv
元标记应首先出现在 header 中,因为它仅适用于其后的元素。
在大型组织中,负责设置 CSP 的人员与负责网页内容的人员不同。当应用多个策略时,它们必须全部执行。开发人员(通过元数据)不能放宽系统管理员制定的策略(通过 http 响应)。安全负担从所有开发人员转移到有限的管理员组。
The Content-Security-Policy HTTP response header field is the preferred mechanism for delivering a policy
但是有两种有效机制,通过 HTTP header 传送,以及通过 HTML meta
元素传送:
<meta http-equiv="Content-Security-Policy" content="..."/>
为什么要通过 header "preferred" 交付,或者更重要的是,通过 HTML meta
标签交付的缺点是什么?
出于各种原因,在我们的部署中,将 CSP 添加到 HTML 头部更易于管理。
看来这个问题在评论里已经回答过了,但是没人有时间写回复,我自己试试
Content-Security-Policy 与通过 HTML 元元素传送相比,通过 HTTP 响应传送支持一些额外的功能,例如 Content-Security-Policy-Report-Only和report-uri、frame-ancestors和沙盒指令.
但是,如果您不需要使用这些功能中的任何一个,则使用 HTTP header 没有任何优势。
请注意,使用 HMTL 方式时,http-equiv
元标记应首先出现在 header 中,因为它仅适用于其后的元素。
在大型组织中,负责设置 CSP 的人员与负责网页内容的人员不同。当应用多个策略时,它们必须全部执行。开发人员(通过元数据)不能放宽系统管理员制定的策略(通过 http 响应)。安全负担从所有开发人员转移到有限的管理员组。