Entry № 1237
子资源完整性 (SRI)
子资源完整性 (SRI) 是什么?
子资源完整性 (SRI)浏览器在执行第三方加载的脚本或样式表前,先校验其加密哈希值的机制,防止被篡改的文件被运行。
SRI 通过在「script」或「link」标签上设置「integrity」属性来配置,值是预期文件的 SHA-256/384/512 base64 摘要,可包含多个。浏览器在下载资源后重新计算摘要,若与声明值不符,则拒绝执行或应用。SRI 是抵御 CDN 被攻陷、第三方脚本被劫持以及 Magecart 等针对前端代码的供应链攻击的核心手段。它天然与 CSP 和「crossorigin」属性配合使用,并应结合版本锁定及自动化更新流程,使哈希与代码保持同步。
● 示例
- 01
「<script src="https://cdn.example.com/lib.js" integrity="sha384-..." crossorigin="anonymous"></script>」。
- 02
在受支持环境中使用 CSP 指令「require-sri-for script style」,强制所有子资源使用 SRI。
● 常见问题
子资源完整性 (SRI) 是什么?
浏览器在执行第三方加载的脚本或样式表前,先校验其加密哈希值的机制,防止被篡改的文件被运行。 它属于网络安全的 应用安全 分类。
子资源完整性 (SRI) 是什么意思?
浏览器在执行第三方加载的脚本或样式表前,先校验其加密哈希值的机制,防止被篡改的文件被运行。
如何防御 子资源完整性 (SRI)?
针对 子资源完整性 (SRI) 的防御通常结合技术控制与运营实践,详见上方完整定义。
子资源完整性 (SRI) 还有哪些其他名称?
常见的别称包括: SRI。