Failed to find a valid digest in the ‘integrity‘ attribute for resource ‘https://cdn.adjust.com/adju

介绍

  1. adjust按照官网的script引用后出现报错 (Failed to find a valid digest in the 'integrity' attribute for resource 'https://cdn.adjust.com/adjust-latest.min.js' with computed SHA-384 integrity 'WE6fJqvcE0mjcC/fPYooIQAOhsHpTDVYjC52i6Asn3LECEpjHyI5zUwD8/5esthg'. The resource has been blocked.
    在这里插入图片描述

  2. 通过查询资料发现这个问题就是官网自己改了cdn资源内容,然后没有更新官网文档导致的。(官网文档所用的 integrity 是过期了的。)

  3. 简单介绍一下 integrity (以下内容为摘要了解内容,具体详情可去MDN官方查看)
    1)子资源完整性(Subresource Integrity,SRI)是允许浏览器检查其获得的资源(例如从 CDN 获得的)是否被篡改的一项安全特性。它通过验证获取文件的哈希值是否和你提供的哈希值一样来判断资源是否被篡改。
    2)使用子资源完整性功能的方法是,在任何 <script> 或 <link> 元素的 integrity 属性值中,指定你要告诉浏览器所获取的资源(或文件)的 base64 编码的加密哈希值。
    3)integrity 值至少由一个字符串开始,每个字符串包括一个前缀,表示一个特定的哈希算法(目前允许的前缀是 sha256sha384sha512),后面是一个短横线(-),最后是实际的 base64 编码的哈希。

    使用 base64 编码 sha384 算法计算出摘要后的 integrity 值的示例:

    sha384-WE6fJqvcE0mjcC/fPYooIQAOhsHpTDVYjC52i6Asn3LECEpjHyI5zUwD8/5esthg
    

    WE6fJqvcE0mjcC/fPYooIQAOhsHpTDVYjC52i6Asn3LECEpjHyI5zUwD8/5esthg 即“哈希”部分,sha384 前缀说明使用的是 sha384 哈希方法。
    4)在线生成 SRI 哈希的工具: SRI Hash Generator: https://www.srihash.org/
    5)你可以使用以下的 <script> 元素告诉浏览器在执行 https://cdn.adjust.com/adjust-latest.min.js 中的内容之前,必须先比较该文件的哈希值是否和预期的一致,并验证是否匹配。

    	<script
    		src="https://cdn.adjust.com/adjust-latest.min.js`"
    		integrity="sha384-WE6fJqvcE0mjcC/fPYooIQAOhsHpTDVYjC52i6Asn3LECEpjHyI5zUwD8/5esthg"
    		crossorigin="anonymous">
    	</script>
    

解决

  1. 在线生成 SRI 哈希的工具: SRI Hash Generator: https://www.srihash.org/
  2. 使用在线生成SRI哈希工具重新按照当前网址(https://cdn.adjust.com/adjust-latest.min.js)生成 SRI 哈希加粗样式
  3. 然后把integrity的内容复制到我们的脚本加载里面去,下图红框内.
    在这里插入图片描述
  4. 最终控制台报错消失,adjust功能正常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值