收藏
回答

jssdk 的 CDN 不稳定导致 SRI 可能失败

我们使用 https://res.wx.qq.com/open/js/jweixin-1.6.2.js 引入提供 jssdk,由于业务需要,配置的 integrity 为

sha384-zEQwxT8x4Y+q7ACXfjDj8p1vaweu8sYaWYkwSKwV7Y2LOAQR9vutnLm6D0JF1+Mr,计算工具两个分别是在线的 https://www.srihash.org/ 和本地 openssl dgst -sha384 -binary jweixin-1.6.2.js | openssl base64 -A,计算结果均为如上值。

但是不同用户在不同时间下浏览器可能报错 integrity 校验不通过:

Failed to find a valid digest in the 'integrity' attribute for resource 'https://res.wx.qq.com/open/js/jweixin-1.6.2.js' with computed SHA-384 integrity 'hpgPP/MzBkrPWEyOdVPsuCov/RzdthQPnaqt2QPUlwJhsYnZJb1OpUXCXrijDrA9'. The resource has been blocked.

深度怀疑该js的CDN资源在各节点有字节或者压缩算法等细微差异,这对需要添加SRI的业务来说是致命的,请排查和修复;

最后一次编辑于  08-14
回答关注问题邀请回答
收藏
登录 后发表内容