風雲論壇脚本中心 → 浏览:帖子主题
* 帖子主题:Javascript 使用 integrity 属性进行安全验证
風雲 (ID: 3)
头衔:论坛版主
等级:大天使
积分:1531
发帖:68
来自:保密
注册:2022/3/30 15:28:53
造访:2024/10/15 19:43:14
[ 第 1 楼 ] 回复
script 标签引入远程文件存在一个问题,如果对应的文件被篡改了,那么可能会对用户造成影响。虽然cdn一般都是可靠的,但是不排除受到黑客的攻击。

在这种情况下,可以通过script标签的属性 integrity 来进行安全验证,例如:
<script
    integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC"
    src="https://cdn.xxx.xx/js/index.js"></script>

如果下载的子资源通过计算后的哈希字符串,跟标签上的不统一,浏览器就会拒绝执行对应的代码。

可以使用openssl 生成这样的哈希值,例如:
wget https://cdn.xxx.xx/js/index.js
openssl dgst -sha384 -binary index.js | openssl base64 -A
2022/6/23 8:08:14 IP:已设置保密
pojin (ID: 2)
等级:风云使者
积分:297
发帖:2
来自:保密
注册:2022/3/30 11:42:27
造访:2024/10/7 20:42:00
[ 第 2 楼 ] 回复
学习了~
2022/6/23 9:04:49 IP:已设置保密
分页: 1, 共 1 页
快速回复主题
账号/密码
用户: 没有注册? 密码:
评论内容