内容安全策略 header 和 header 大小
Content security policy headers and header size
有大content-security-policyhttpheader推荐吗?由于 header 数据包大小的限制,某些应用程序无法处理从大型 content-security header 读取数据。然而,要列出站点所需的域,具体而言,每个域都需要字节。您是否注意到规范的这一限制?您是如何解决这个问题的?
实际上,HTTP header 的大小有两种类型的限制 - 服务器端和客户端:
Apache Web 服务器的所有 HTTP 响应 header 的最大大小,默认情况下为 8190 字节。
如果所有 HTTP headers 的总大小 (CSP + "HTTP/1.1 200 OK" + Content-type:"text/html; charset=utf-8" + 所有其他) 超过了允许的限制,网络服务器 returns 错误 502.
限制某些移动设备上接收缓冲区的大小。可以通过违规报告检测到,其中 original-policy
字段被截断了。最后一次观察是在大约 6 年前。
解决问题:
- 使用
*
将一组子域列入白名单 (*.google.com)。
- 使用
img-src *
允许来自任何图像,因为不太可能通过图像进行 XSS。
- 在
script-src
指令中使用 'strict-dynamic'
标记并从中删除所有 host-based 来源,http: https:
除外。有关详细信息,请参阅 Google 的 strict CSP。
有大content-security-policyhttpheader推荐吗?由于 header 数据包大小的限制,某些应用程序无法处理从大型 content-security header 读取数据。然而,要列出站点所需的域,具体而言,每个域都需要字节。您是否注意到规范的这一限制?您是如何解决这个问题的?
实际上,HTTP header 的大小有两种类型的限制 - 服务器端和客户端:
Apache Web 服务器的所有 HTTP 响应 header 的最大大小,默认情况下为 8190 字节。
如果所有 HTTP headers 的总大小 (CSP + "HTTP/1.1 200 OK" + Content-type:"text/html; charset=utf-8" + 所有其他) 超过了允许的限制,网络服务器 returns 错误 502.限制某些移动设备上接收缓冲区的大小。可以通过违规报告检测到,其中
original-policy
字段被截断了。最后一次观察是在大约 6 年前。
解决问题:
- 使用
*
将一组子域列入白名单 (*.google.com)。 - 使用
img-src *
允许来自任何图像,因为不太可能通过图像进行 XSS。 - 在
script-src
指令中使用'strict-dynamic'
标记并从中删除所有 host-based 来源,http: https:
除外。有关详细信息,请参阅 Google 的 strict CSP。