HTML <script> integrity 屬性
定義和用法
integrity
屬性允許瀏覽器檢查獲取的腳本,以確保在源代碼被篡改時不加載該代碼。
子資源完整性(Subresource Integrity,SRI)是一項 W3C 規范,允許 Web 開發人員確保托管在第三方服務器上的資源未被修改。建議使用 SRI!
在使用 SRI 時,網頁保存哈希值,服務器保存文件(在本例中為 .js 文件)。瀏覽器下載文件,然后檢查它,以確保與 integrity
屬性中的哈希值匹配。如果匹配,將使用該文件,如果不匹配,則阻止該文件。
您可以使用在線的 SRI 哈希生成器生成完整性哈希值:SRI 哈希生成器。
實例
同時使用 integrity 和 crossorigin 屬性,鏈接到 CDN:
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"> </script>
語法
<script integrity="filehash">
屬性值
值 | 描述 |
---|---|
filehash | 外部腳本文件的文件哈希值。 |
瀏覽器支持
表中的數字注明了首個完全支持該屬性的瀏覽器版本。
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
45.0 | 17.0 | 43.0 | 13.0 | 66.0 |