You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firefox中SHA384哈希与子资源integrity属性不匹配的CSP问题求解决方案

Firefox 112.0.2中SHA384哈希SRI验证失败的解决办法

问题背景

Chrome、Chromium内核的Edge及Opera中,JavaScript文件example.js的SHA384哈希可正常通过Subresource Integrity(SRI)验证,但Firefox 112.0.2会抛出控制台错误:

integrity属性中的所有"sha384"哈希均与子资源内容不匹配

目前Mozilla官方暂未推出修复方案,该问题会限制Firefox在采用CSP Level 2及Level 3安全特性的站点中的兼容性。

可行解决办法

  • 替换哈希算法
    暂时改用SHA256或SHA512哈希,Firefox对这两种算法的SRI验证兼容性更稳定。生成对应哈希后更新script标签:

    <script src="example.js" integrity="sha256-[生成的哈希值]" crossorigin="anonymous"></script>
    
  • 校验文件一致性
    确认Firefox请求到的example.js与其他浏览器获取的文件完全一致:

    • 清除Firefox缓存后重新加载页面,排除缓存导致的内容差异
    • 通过开发者工具Network面板查看文件内容,与本地文件做字节级对比,避免CDN或代理篡改
  • 添加多哈希兜底
    在integrity属性中同时声明SHA384及另一种兼容的哈希算法,让Firefox能匹配到可用的验证值:

    <script src="example.js" integrity="sha384-[原哈希值] sha256-[新增哈希值]" crossorigin="anonymous"></script>
    
  • 临时降级浏览器版本
    若业务对兼容性要求较高,可临时降级到验证正常的Firefox版本(如111.x系列),等待官方修复后再升级

内容的提问来源于stack exchange,提问作者Goemon Code

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 05:45:26