近期甲方做了什么安全检查防止html、js被串改,要求加上integrity属性这边记录下如何生成hash值

计算hash

在linux上面使用此命令计算你需要生成hash的文件

[root@hhlqrtest js]# cat ./util.js | openssl dgst -sha384 -binary | openssl enc -base64 -A                
rfhUX/daSXdrSIHpOOPTxq222dR4unGS9FO+MsBx/DHDzaWWQwiWyqHKERHtNMnG
[root@hhlqrtest js]# 
rfhUX/daSXdrSIHpOOPTxq222dR4unGS9FO+MsBx/DHDzaWWQwiWyqHKERHtNMnG

这一行就是我们需要的hash值

添加integrity属性

crossorigin="anonymous" integrity="sha384-[刚刚的hash值]"

例如:

<script type="text/javascript" src="/js/PageJs/Home/login.js" integrity="sha384-HI67irbqe+kwOQ8FJ1RH64pq172I2Y1wJN8BauJqymn8/ZAql5aMssg9fUe72fqE" crossorigin="anonymous" ></script>

在HTML上添加integrity,验证js和css的hash,防止篡改
标签: