我在bootstrap的网站上,我最近注意到他们的CDN链接包含一个带有SHA-384密钥的完整性属性.
我认为这是一种验证脚本源的方法,但更多的是我想知道它是如何使用的,如果这是任何规范的一部分?
此外,这只适用于脚本src,还是可以与任何非同源源一起使用?
检查一下:
https://developer.mozilla.org/en/docs/Web/HTML/Element/script
使用内容交付网络(CDN)托管在多个站点之间共享的文件(例如脚本和样式表)可以提高站点性能并节省带宽。但是,使用CDN也会带来风险,因为如果攻击者获得了CDN的控制权,则攻击者可以向CDN上的文件中注入任意恶意内容(或完全替换文件),从而也有可能攻击所有获取内容的网站该CDN中的文件。
Subresource Integrity功能使您可以确保Web应用程序或Web文档(从CDN或任何地方)获取的文件已经交付,而第三方没有向其中注入任何其他内容,从而减轻了此类攻击的风险。文件-完全没有对这些文件进行任何其他任何形式的更改。
在这里阅读更多:
https://developer.mozilla.org/zh-CN/docs/Web/Security/Subresource_Integrity