是否可以将 SRI 用于 recurly.js cdn?

Posted

技术标签:

【中文标题】是否可以将 SRI 用于 recurly.js cdn?【英文标题】:Is it possible to use SRI for the recurly.js cdn? 【发布时间】:2018-07-14 21:22:26 【问题描述】:

recurly.js 可以与 SRI integrity 一起使用吗?

我注意到this 问题,该问题已关闭,注意到发行说明中包含完整性哈希,they are。然而,当我尝试在 codepen 上对此进行测试时:

<script src="https://js.recurly.com/v3/recurly.js" integrity="sha256-3892b173d276d2ec8b087d6abe3bfee2"></script>

我在 javascript 控制台中收到此错误:

子资源完整性:资源“https://js.recurly.com/v3/recurly.js”具有完整性属性,但该资源要求请求启用 CORS 以检查完整性,但事实并非如此。由于无法强制执行完整性,该资源已被阻止。

是我遗漏了什么还是 Recurly 没有在该端点上启用 CORS?

【问题讨论】:

来自curl -i -H "Origin: https://example.com" https://js.recurly.com/v3/recurly.js 的响应标头包括access-control-allow-origin 标头。 【参考方案1】:

Recurly 从 rjs v3.0.9 (https://github.com/recurly/recurly-js/blob/master/CHANGELOG.md#version-309-november-12-2014) 开始提供 CORS 支持。

此示例适用于 3.0.9,但它也可能适用于所有后续版本。 https://github.com/recurly/recurly-js/tree/v3.1.1#beta-features

recurly.configure( publicKey: '你的公钥', cors: 真的 );

【讨论】:

以上是关于是否可以将 SRI 用于 recurly.js cdn?的主要内容,如果未能解决你的问题,请参考以下文章

RFC32 关于SRI所提议的实时时钟的一些想法

如何使用 SRI 哈希和“onload”属性

SRI 哈希不是预期的

为啥我不能使用 SRI 从本地计算机 (file:///) 加载文件?

即使在 SRI 完整性失败后仍执行 Javascript

如何获得 aspnetcdn.com 的 SRI(子资源完整性)哈希?