Angular2+对本地脚本文件使用完整性参数
Posted
技术标签:
【中文标题】Angular2+对本地脚本文件使用完整性参数【英文标题】:Angular2+ use integrity parameter for a local script file 【发布时间】:2019-04-02 11:12:22 【问题描述】:我在 angularjs 的资产文件夹中有 2 个脚本。我使用https://hash.online-convert.com/sha384-generator 为他们生成了完整性哈希。在我的本地主机中,一切正常。但是在服务器中只有 IE 可以工作,但是 firefox 和 chrome 告诉 hash 与内容不匹配。以下是如何包含文件的示例:
<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 无法使用网络服务器中的完整性哈希正确验证?我错过了什么吗?
【问题讨论】:
【参考方案1】:而不是这样做。我们最终使用了 angular-cli,其中脚本位于 "script": 标签下。并使用 angular cli 1.5+ 构建它并添加标签 --subresouce-integrity
【讨论】:
以上是关于Angular2+对本地脚本文件使用完整性参数的主要内容,如果未能解决你的问题,请参考以下文章
Angular2 HTTP GET - 将响应转换为完整对象