0

我们都知道从公共 CDN 网络加载 javascript 会带来安全隐患。另一方面,能够缓存这些资源也有好处。

所以显然必须有一个 javascript 解决方案,例如 SHA-256 的实现用于在从 CDN 加载它之后但在评估 javascript 之前检查 jquery 的完整性。

这样做的最佳选择是什么?

4

2 回答 2

0

如果 CDN 服务器正在发送CORS标头,您可以使用 XHR 检索文件并在评估之前验证内容。请注意,与通常同步执行脚本元素的方式相比,这是一个很大的变化:

<script src="//google.com/jquery"></script>
<script>//jQuery is available</script>

以上将不再可能,因此如果您已经在传统的顺序同步假设下编写了大量代码,则可能不可行


如果 CDN 服务器未发送 CORS 标头,则无法查看内容。而且我认为任何解决方法都会破坏目的。

于 2013-06-20T12:59:46.630 回答
0

子资源完整性是一个W3C 草案规范,它正是这样做的:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"
        integrity="sha384-rY/jv8mMhqDabXSo+UCggqKtdmBfd3qC2/KvyTDNQ6PcUJXaxK1tMepoQda4g5vB"
        crossorigin="anonymous">
</script>
于 2016-06-01T12:56:22.977 回答