当前位置:首页 > 文章列表 > 文章 > 前端 > HTML Integrity属性:安全校验子资源关键

HTML Integrity属性:安全校验子资源关键

2026-05-15 23:40:26 0浏览 收藏
HTML 的 `integrity` 属性是防范子资源被篡改的关键防线,但它绝非“开箱即用”的安全开关——其生效严格依赖 `crossorigin` 正确配置、哈希算法与文件内容精准匹配、且仅作用于 `

HTML属性Integrity:子资源完整性校验属性的安全防线

integrity 属性本身不提供“自动安全防线”,它只在你配对正确、资源可控、构建流程闭环的前提下才起作用;漏掉 crossorigin、用错哈希算法、或加载动态子资源时不做手动校验,等于没开锁。

为什么加了 integrity 还报 The resource was blocked because integrity check failed

这不是浏览器故意刁难,而是校验链上某个环节断了。常见断点有:

  • crossorigin 属性缺失或值错误(必须是 anonymoususe-credentials,不能留空或写错大小写)
  • 服务端没返回 Access-Control-Allow-Origin 响应头(尤其自建 CDN 或内网静态资源服务)
  • 哈希值不是对**最终上线文件**计算的——比如本地开发时用未压缩版生成,上线却用了 Uglify/Terser 压缩后的版本
  • 用了 sha256- 前缀但实际文件是用 sha384 算的,或者 base64 编码时多/少了一个 =

integrity 只对