diff --git a/ecs/jskult-webapp/README.md b/ecs/jskult-webapp/README.md index e85ed943..5eda4c73 100644 --- a/ecs/jskult-webapp/README.md +++ b/ecs/jskult-webapp/README.md @@ -196,15 +196,38 @@ - リクエスト到達時にセッションの有無をチェックする - レスポンス時、クッキーにセッションキーを登録する -## ヘッダーにSRI設定・生成方法 -- インポートされたソースに更新したら、SRIのintegrity hashも更新すること - - ソースはローカルにある場合下記の`bash`コマンドでハッシュ生成できる: - ``` - cat FILENAME.js | openssl dgst -sha384 -binary | openssl base64 -A - ``` - - 外部ソース *(リンクから)* 使用する場合は下記のMDNオンラインツールでハッシュ生成できる: - [SRI Hash Generator](https://www.srihash.org/) - - SRIサンプル: - ``` - - ``` +## HTMLで読み込んでいるスクリプトのSRIハッシュ値を生成・設定する方法 + +### サブリソース完全性 (Subresource Integrity, SRI) とは + +CDN などから取得したリソースが意図せず改ざんされていないかをブラウザーが検証するセキュリティ機能です。 SRI を利用する際には、取得したリソースのハッシュ値と一致すべきハッシュ値を指定します。 + +詳細: + +実消化&アルトマークのWebアプリケーションでは、複数の外部スクリプトを読み込んで動作しているため、読み込むスクリプトを変更した場合は、 +タグの属性値`integrity`に設定されているスクリプトのハッシュ値を更新する必要がある。 + +### SRI ハッシュ値の生成方法(サーバー内のスクリプトについて) + +- サーバー内に保管されているスクリプトを更新した場合、Linux環境(WSL2でも可)で、以下のコマンドを実行し、ハッシュ値を生成する + +```bash +cat <更新したスクリプトファイル名> | openssl dgst -sha384 -binary | openssl base64 -A +``` + +参考: + + +### SRI ハッシュ値の生成方法(外部サイトから読み込んでいるスクリプトについて) + +- 外部サイトから読み込んでいるスクリプトを更新した場合、下記のMDNオンラインツールでハッシュ値を生成する + - [SRI Hash Generator](https://www.srihash.org/) + +### SRI ハッシュ値の設定方法 + +- 更新したスクリプトを読み込んでいる箇所の`integrity`属性値を、生成したハッシュ値に置き換える +- 以下は設定のサンプル + +```bash + +```