概述SRI 通过在 `<script>/<link>` 上声明 `integrity` 哈希(如 `sha384-...`)确保外部资源未被篡改;对于跨源资源还需 `crossorigin` 与 CDN 的 CORS 支持,浏览器才会进行完整性校验。使用与生成为第三方或 CDN 静态资源添加 `integrity` 与 `crossorigin="anonymous"`。可使用 OpenSSL 或在线工具生成哈希,更新资源内容时需同步更新哈希[参考2]。跨源要求浏览器对跨源 SRI 校验须满足 CORS(`Access-Control-Allow-Origin`),否则校验失败并阻止资源使用[参考1,2]。实践建议自建或可信 CDN 配合 SRI;版本更新使用自动化生成哈希并在构建中注入。结合 CSP 与版本化缓存策略,降低供应链攻击风险。参考与验证[参考1]MDN:Subresource Integrity 概念与跨源校验要求:https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity[参考2]MDN 实践指南:SRI 哈希生成与 `crossorigin` 用法示例:https://developer.mozilla.org/en-US/docs/Web/Security/Practical_implementation_guides/SRI[参考3]OWASP:SRI 机制与示例(防第三方资源篡改):https://owasp.org/www-community/controls/SubresourceIntegrity[参考4]教程:SRI 简介与实现步骤(哈希与跨源):https://www.ditig.com/introduction-to-subresource-integrity-sri[参考5]维基:SRI 的浏览器行为与语法说明:https://en.wikipedia.org/wiki/Subresource_Integrity关键词校验关键词与 SRI 机制一致。

发表评论 取消回复