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 |