当前位置: 首页 > 工具软件 > Integrity > 使用案例 >

subsource integrity 子资源完整性

桂嘉年
2023-12-01

一、子资源完整性

目的是为了保证引入的第三方js不被cdn或提供方更改。就是添加一个签名。

二、配置

<script src="http://image.com/static/test.js" integrity="sha384-mI5teY/KdT3jQMWU1ckJBeqABhRQf8GTGOk0EZeHv5FyJakScSQ1so7/qkxHLcP1" crossorigin="anonymous"></script>

如上有两个属性:integrity 和 crossorigin,前者为签名,不加后者浏览器会报错。

1. 签名组成:

加密方式(如sha256)-base64编码的文件hash值。

2.服务器端配合

服务器端需要给响应添加一个Access-Control-Allow-Origin 响应头信息,如apache中:

header set Access-Control-Allow-Origin http://yourdomain.com

3.结果

配置号后,提示签名不符,文件锁定。。也不知为啥,base64(sha256(test.js))得到的结果与浏览器计算的不符也不知道为啥。用浏览器报错提供中的文件hash值,就不报错了。。。

 类似资料: