我在angularjs的资产文件夹中有2个脚本。我使用https://hash.online-convert.com/sha384-generator为他们生成了完整性哈希。在我的本地主机中一切正常。但是在服务器中,只有IE可以工作,但是firefox和chrome告知哈希与内容不匹配。这是文件包含方式的示例:
<script src="assets/scripts/jquery-3.1.1.slim.min.js" integrity="sha384-aL/wpCLJCv6t5sBNGKKvqcvD4HI7ELd0TsuutAmgCJcNpe0y7D5ECI62DIOy5Xyl" crossorigin="anonymous"></script>
API是使用Java Spring实现的,并且还添加了此安全标头:
.addHeaderWriter(new StaticHeadersWriter("X-Content-Security-Policy","script-src 'self'"))
为什么firefox和chrome无法使用网络服务器中的完整性哈希正确验证?我想念什么吗?
答案 0 :(得分:0)
代替这种方式。我们最终在脚本位于但在“ script”:标记下使用了angular-cli。然后使用cli 1.5+的角度,并加上标签--subresouce-integrity