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 - 将响应转换为完整对象

如何将完整的数据库编写成一系列创建脚本?

执行包含完整路径的python可执行文件和脚本

对本地 .py 脚本的 Ajax 调用工作正常,直到我在顶部添加一个简单的导入,它失败并出现 500 错误

如何使用 Python 脚本下载完整的网页?

完整的安全图像上传脚本