在开发中,我有一个在标准端口35729上运行的livereload服务器,但由于我的策略有script-src 'self'
,因此我没有加载。是否有办法在所有港口允许“自我”?
'localhost:*'
也不是一个很好的解决方案,因为我偶尔会在本地网络上测试网站,因此它可能是一个ip地址而不是“localhost”。
当然,如果需要,我可以从开发中删除此标题,但我尽量保持尽可能接近生存。
答案 0 :(得分:3)
没有。 'self'
总是将您限制在您所在的网站上 - 如果您从您网页所在的同一应用程序中提供脚本,请使用它。它并不真正意图允许资源来自同一服务器上的其他进程。
您可以将源设置为配置或安装设置。在开发配置中添加localhost:*
,并将其更改为LAN测试环境中的特定resourceserver:35729
。
答案 1 :(得分:1)
仅需说明-您可以对端口使用通配符,但是必须指定域。 您不能使用“自我”:*
示例:
<meta http-equiv="Content-Security-Policy" content="default-src 'self' localhost:* example.com:*" />
Mozilla文档:
该站点的地址可能包含一个可选的前导通配符(星号字符“ *”),您可以将通配符(再次为“ *”)用作端口号,表示所有合法端口均有效源。