問題タブ [subresource-integrity]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - CDN を介した CSS を含むフォントのサブリソース整合性 (例: font-awesome)
CDNを介して含まれるファイルに含まれるリソースにSRIをどのように使用しますか。.css
たとえば、これを HTML に含める場合:
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
これにより、次のような CSS を介して含まれるフォントが読み込まれますurl('../fonts/fontawesome-webfont.woff2?v=4.7.0')
。もちろん、これらのフォントは改ざんされる可能性があり、ブラウザの未知のエクスプロイトを利用する可能性があるため、ハッシュ チェックを強制することも理にかなっています。
fontawesome-webfont.*
経由でロードされたファイルの SRI ハッシュを実行するようにブラウザに指示するにはどうすればよい.css
ですか?
注: sub-sub-resource ハッシュはまだサポートされていないようですが、それが最新かどうかはわかりません。
javascript - リクエストが Chrome 拡張機能のサブリソースの整合性であるかどうかを確認する
Chrome 拡張機能からサブリソース整合性 (SRI) を介してスクリプト/スタイルシートの整合性が保護されているかどうかを確認することはできますか?
リクエストが開始される前にこれを知りたいので、これは で行う必要がありますchrome.webRequest.onBeforeRequest
。ただし、SRI はブラウザ側であるため、リクエストに関するヒントはありません。リクエストが終了した後にすべてが発生します。
私の見解では、この情報を取得する唯一の方法は、DOM に直接アクセスすることです。これは、HTML が完全に解析されるまですべてのリクエストを停止する必要があることを意味しますが、これは適切ではないようです。
Chrome拡張ドキュメントのどこにも見つからなかったため、SRIは拡張機能にアクセスするには新しすぎるのかもしれません。