首页 > 解决方案 > Content-Security-Policy 标头的基于 IP 的指令

问题描述

我正在使用服务器 lighttpd/1.4.53。我想为我的服务器添加 HTTP 标头“Content-Security-Policy”。我有几个与此相关的问题:

  1. 正如此标头的文档所暗示的,大多数指令都是基于域的。例如,Content-Security-Policy: default-src 'self'; script-src *.example.com;有没有办法使这个 IP 为基础?或者我们可以让'self'考虑服务器自己的IP吗?
  2. 如何查看浏览器和服务器使用的 CSP 版本?CSP 是否使用与父 HTTP 协议本身相同的版本?

文档:https ://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/default-src

标签: http-headerscontent-security-policylighttpd

解决方案


大多数指令都是基于域的......有没有办法让这个IP基于?

CSP 规范不允许使用除 127.0.0.1 之外的 IP,请参阅匹配主机部分。尽管 Chrome 和 Firefox支持IPv4 地址作为主机源。

我们可以让'self'考虑服务器自己的IP吗

没有办法做到这一点。另外,无法为 IP 地址制作 SSL 证书,因此 HTTPS 将不起作用。

如何查看浏览器和服务器使用的 CSP 版本?

浏览器正在逐步实现对不同版本 CSP 的指令和特性的支持。因此,CSP2 和 CSP3 浏览器之间没有明确的界限。
一些浏览器部分支持 CSP3,但没有实现 CSP2 的某些元素。

CSP 是否使用与父 HTTP 协议本身相同的版本?

HTTP 协议和 CSP 版本之间没有任何关系。


推荐阅读