在内容安全策略中有没有办法匹配自己+任何端口?

时间:2016-09-01 03:13:22

标签: http-headers content-security-policy

在开发中,我有一个在标准端口35729上运行的livereload服务器,但由于我的策略有script-src 'self',因此我没有加载。是否有办法在所有港口允许“自我”?

'localhost:*'也不是一个很好的解决方案,因为我偶尔会在本地网络上测试网站,因此它可能是一个ip地址而不是“localhost”。

当然,如果需要,我可以从开发中删除此标题,但我尽量保持尽可能接近生存。

2 个答案:

答案 0 :(得分:3)

没有。 'self'总是将您限制在您所在的网站上 - 如果您从您网页所在的同一应用程序中提供脚本,请使用它。它并不真正意图允许资源来自同一服务器上的其他进程。

您可以将源设置为配置或安装设置。在开发配置中添加localhost:*,并将其更改为LAN测试环境中的特定resourceserver:35729

答案 1 :(得分:1)

仅需说明-您可以对端口使用通配符,但是必须指定域。 您不能使用“自我”:*

示例:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' localhost:* example.com:*" />

Mozilla文档:

  

该站点的地址可能包含一个可选的前导通配符(星号字符“ *”),您可以将通配符(再次为“ *”)用作端口号,表示所有合法端口均有效源

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