HTML <script> 标签的 integrity 属性

实例

使用 integritycrossorigin 属性链接到 CDN:

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin="anonymous">
</script>

定义和用法

integrity 属性允许浏览器检查获取的脚本,以确保如果源已被操纵,则永远不会加载代码。

子资源完整性 (Subresource Integrity, SRI) 是一项 W3C 规范,它允许 Web 开发人员确保托管在第三方服务器上的资源没有被更改。推荐使用 SRI!

使用 SRI 时,网页保存哈希,服务器保存文件(在本例中为 .js 文件)。浏览器下载文件,然后检查它,以确保它与 integrity 属性中的哈希匹配。如果匹配,则使用该文件,如果不匹配,则阻止该文件。

您可以使用在线 SRI 哈希生成器来生成完整性哈希:SRI 哈希生成器。

浏览器支持

表格中的数字注明了完全支持该属性的首个浏览器版本。

属性ChromeInternet Explorer / EdgeFirefoxSafariOpera
integrity45.017.043.013.066.0

语法

<script integrity="filehash">

属性值

描述
filehash外部脚本文件的文件哈希值。