1. 首页>>前端>>HTML

Integrity 属性值是什么作用?

今天看资料的时候突然发现这么一段代码:

<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-LY6QZQpYtqgQLJeUeh2disXkUUa+fRYfq/3dxdpkU5PQZUCqg/BK4wrhQ9idOojx" crossorigin="anonymous">

integrity="sha384-LY6QZQpYtqgQLJeUeh2disXkUUa+fRYfq/3dxdpkU5PQZUCqg/BK4wrhQ9idOojx"
意思是:使用base64 编码 sha384 算法计算出摘要后的 integrity值

其中有两个不认识的标签:

  integrity

  crossorigin


使用内容分发网络(CDNs)在多个站点之间共享脚本和样式表等文件,确保Web 应用程序获得的文件未经第三方注入或其他任何形式的修改来降低这种攻击的风险。


integrity 值可以包含多个由空格分隔的哈希值,只要文件匹配其中任意一个哈希值,就可以通过校验并加载该资源。


  浏览器根据以下步骤处理SRI:

  1、当浏览器在  <script>或者 <link>  标签中遇到integrity属性之后,会在执行脚本或者应用样式表之前对比所加载文件的哈希值和期望的哈希值。

  2、当脚本或者样式表的哈希值和期望的不一致时,浏览器必须拒绝执行脚本或者应用样式表,并且必须返回一个网络错误说明获得脚本或样式表失败。


转载联系作者并注明出处:https://focusonseo.cn/hctmsl/39.html