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