feat: SRIハッシュ値について記述を修正
This commit is contained in:
parent
3feca4d25c
commit
ff6dd0b68a
@ -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サンプル:
|
||||
```
|
||||
<script src="https://リンク/スクリプト.js" integrity="sha384-生成したハッシュ" crossorigin="anonymous"></script>
|
||||
```
|
||||
## HTMLで読み込んでいるスクリプトのSRIハッシュ値を生成・設定する方法
|
||||
|
||||
### サブリソース完全性 (Subresource Integrity, SRI) とは
|
||||
|
||||
CDN などから取得したリソースが意図せず改ざんされていないかをブラウザーが検証するセキュリティ機能です。 SRI を利用する際には、取得したリソースのハッシュ値と一致すべきハッシュ値を指定します。
|
||||
|
||||
詳細:<https://developer.mozilla.org/ja/docs/Web/Security/Subresource_Integrity>
|
||||
|
||||
実消化&アルトマークのWebアプリケーションでは、複数の外部スクリプトを読み込んで動作しているため、読み込むスクリプトを変更した場合は、
|
||||
タグの属性値`integrity`に設定されているスクリプトのハッシュ値を更新する必要がある。
|
||||
|
||||
### SRI ハッシュ値の生成方法(サーバー内のスクリプトについて)
|
||||
|
||||
- サーバー内に保管されているスクリプトを更新した場合、Linux環境(WSL2でも可)で、以下のコマンドを実行し、ハッシュ値を生成する
|
||||
|
||||
```bash
|
||||
cat <更新したスクリプトファイル名> | openssl dgst -sha384 -binary | openssl base64 -A
|
||||
```
|
||||
|
||||
参考:<https://developer.mozilla.org/ja/docs/Web/Security/Subresource_Integrity#sri_%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB>
|
||||
|
||||
|
||||
### SRI ハッシュ値の生成方法(外部サイトから読み込んでいるスクリプトについて)
|
||||
|
||||
- 外部サイトから読み込んでいるスクリプトを更新した場合、下記のMDNオンラインツールでハッシュ値を生成する
|
||||
- [SRI Hash Generator](https://www.srihash.org/)
|
||||
|
||||
### SRI ハッシュ値の設定方法
|
||||
|
||||
- 更新したスクリプトを読み込んでいる箇所の`integrity`属性値を、生成したハッシュ値に置き換える
|
||||
- 以下は設定のサンプル
|
||||
|
||||
```bash
|
||||
<script src="https://リンク/スクリプト.js" integrity="sha384-生成したハッシュ" crossorigin="anonymous"></script>
|
||||
```
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user