在v2ex上学到了一个新东西,叫做integrity,是一个script标签的一个属性,之前没注意过这个东西有什么用,给大家分享一下。
首先,任何引用外部js文件都有注入的风险,那么为什么cdn引入可以做到很安全呢?就是这个integrity属性了,因为cdn上的js区分了版本,所以js内容不会改变,这时候就可以把js内容hash化,这样浏览器去执行这个js的时候就会hash js内容并且根integrity属性内容做对比,发现不对就直接不执行了,所以当你js内容发生变化后就不会执行了,就不会出现被脚本注入的风险啦
首先,任何引用外部js文件都有注入的风险,那么为什么cdn引入可以做到很安全呢?就是这个integrity属性了,因为cdn上的js区分了版本,所以js内容不会改变,这时候就可以把js内容hash化,这样浏览器去执行这个js的时候就会hash js内容并且根integrity属性内容做对比,发现不对就直接不执行了,所以当你js内容发生变化后就不会执行了,就不会出现被脚本注入的风险啦
展开
1
13