# サイトがブラウザに送るセキュリティ設定

サイトがすべてのページとともに送れる、ブラウザにビジターを守り方を伝える短い指示です。

ブラウザがページを読み込むたびに、サイトはいくつかの指示を一緒に送ります。ビジターには見えませんが、ブラウザはこれに従います。そのうちいくつかは、攻撃をずっと難しくします。

## 重要な設定

* **Content Security Policy** は、スクリプトを読み込んでよい場所を一覧にします。攻撃者がページにスクリプトを紛れ込ませても、ブラウザはそれを実行しません。
* **フレーム保護**は、他のサイトがあなたのページを自分のサイト内に表示することを防ぎます。これは、見えないボタンを人にクリックさせるために使われる手口です。
* **コンテンツタイプ保護**は、ブラウザがファイルの種類を推測することを防ぎます。推測されると、アップロードされた画像がスクリプトとして扱われるおそれがあります。
* **Referrer ポリシー**は、誰かがリンクをクリックしたときに、ページのアドレスのどこまでを他のサイトと共有するかを制御します。
* **Cookie のフラグ**は、サインイン用の Cookie をスクリプトから守り、暗号化されていない接続で送られないようにします。

## よく欠けている理由

これらはどれも初期状態ではオンになっていません。フレームワークやホスティングサービスは設定を利用者に任せています。また、これらがなくてもサイトは問題なく動くため、何か問題が起きるまで誰も気づきません。

ほとんどは、ホスティングサービスやフレームワークの設定ファイルという一か所で追加できます。Content Security Policy は、より慎重な対応が必要です。厳しすぎる設定にすると、サイトに必要なスクリプトまでブロックしてしまうおそれがあるため、通常は段階的に追加します。

スキャンは、サイトが実際に送っている設定を読み取り、どれが欠けているか、またはゆるすぎるかを伝えます。

> **Try it**
>
> [修正が必要な項目](/app/findings)を開き、ブラウザの設定に関する項目を探してください。プロンプトを AI にコピーすると、使っているフレームワークに合わせて設定を追加してくれます。