我可以在我的 CSP 中使用像 https://sub-*.domain.com 这样的通配符吗?

Can I use a wildcard like https://sub-*.domain.com in my CSP?

我有一个包含三个不同子域的域(命名约定是 sub-environment.domain.com)。我想将它们添加到内容安全策略中,但想知道我是否可以使用这样的通配符:

sub-prod.domain.com
sub-stage.domain.com
sub-demo.domain.com

是否可以在我的 CSP 中指定 sub-*.domain.com 以涵盖所有三个子域?

查看最新的Content Security Policy Level 3 W3C Working Draft主机源中的通配符 只能出现在主机部分的开头:

host-source = [ scheme-part "://" ] host-part [ ":" port-part ] [ path-part ]
host-part   = "*" / [ "*." ] 1*host-char *( "." 1*host-char )

因此,您不能使用 https://sub-*.domain.com 作为主机来源。相反,您必须在 CSP 中指定所有三个子域。