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