http - 内容安全策略 header 和 header 大小

标签 http header content-security-policy

对于大的 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/

相关文章:

假设 C++ 显式类型缺失 ('int')

c - 延迟函数可以在 64 位编译器的 C 语言中工作吗?

javascript - 在 iframe 中启用 CSP 的不安全评估

ssl - 允许通过 HTTPS 加载 HTTP 资源

django - 为什么 Web 框架通过 FastCGI/SCGI 而不是 HTTP 提供服务?

html - 请求访问的帧的协议(protocol)为 "https",被访问的帧的协议(protocol)为 "file"。协议(protocol)必须匹配

asp.net - 如何使用 ASP.NET 发送 301 永久重定向?

php - .htaccess 删除扩展名不起作用

php - 发送带有 PHP header 位置重定向的消息

ios - 内容安全策略破坏了 iOS 客户端的站点