我把我的 Angular 生产构建部署在我的 Java Springboot 的静态资源中。我测试了它在 3 种不同的浏览器(Chrome、Firefox、IE(中运行,并在 Chrome 和 Firefox 中都收到了被阻止的 css。
我在 Chrome 中检索到的一些消息是:
Refuse to apply inline style.......
在火狐中:
Content Security Policy: The page’s settings blocked the loading of a resource at self (“style-src......
但是在IE中一切都加载正常
如何在Chrome和Firefox中解决此问题?
Internet Explorer本质上没有内容安全策略:它只支持Sandbox指令。由于Edge已经推出,可以肯定地说Internet Explorer永远不会获得适当的CSP支持。所以它"有效",因为它没有被强制执行。IE 不应成为 CSP 测试的一部分。
Chrome警告非常有用,请完整阅读; 它会告诉你你需要做什么,甚至给出一个你可以使用的SHA哈希,比如:
style-src 'sha256-076c8f1ca6979ef156b510a121b69b6265011597557ca2971db5ad5a2743545f'
如果你的应用有大量的内联代码,并且你无法删除它们'unsafe-inline'
这是一种可能性,但顾名思义,它不安全,也不是首选。