script-src が 2 回書かれている
継ぎ足しの結果、script-src が 2 回書かれてしまった例です。ブラウザは最初の 1 つだけを使うため、後ろの https: は効かないことを警告で知らせます。
入力
Content-Security-Policy の値
script-src 'self'; script-src https:
どこに書くポリシーか
Content-Security-Policy ヘッダー(強制)
結果
エラー 0 件・警告 1 件・情報 1 件
指摘(エラー・警告・情報)
- 警告 2 番目(script-src) script-src が 2 回あります(最初は 1 番目(script-src))。ブラウザは最初の 1 つだけを使い、後のものは無視します(CSP3 2.2.1)。1 つにまとめてください。
- 情報 全体 default-src がありません。読み込み系ディレクティブ(6.1 節)は、指定のないものが default-src に戻る仕組みです。default-src がないと、指定していない種類の読み込みは制限されません(CSP3 6.1.3)。
| 読み取ったディレクティブ | 2 個 |
|---|---|
| 指摘の件数 | エラー 0 件・警告 1 件・情報 1 件 |
| 判定の範囲 | 構文・ディレクティブ名・ソース式の形・仕様に書かれた組み合わせだけを機械的に判定します。ポリシーの強さや安全性は判定せず、指摘がなくても安全とは限りません |
ディレクティブの一覧
| ディレクティブ | 値 | 区分 | 意味(CSP3 の節) |
|---|---|---|---|
| script-src | 'self' | 読み込み | スクリプトの読み込み元と実行条件(CSP3 6.1) |
| script-src | https: | 読み込み | 重複のため無視される(最初のものが有効) |
検算(この結果になる理由)
CSP3 2.2.1 により、重複したディレクティブは最初のものだけが使われ、後のものは無視されます。2 つ目の script-src は警告 1 件です。表では 2 つ目が「重複のため無視される」になり、default-src が無い旨の情報が 1 件です。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- 確認した範囲は CSP Level 3 の構文・ソース式・ディレクティブ一覧までです。Trusted Types や upgrade-insecure-requests など別仕様のディレクティブは「判定しない」として表に出します。
- ポリシーの強さ(回避されにくさ)や、実際のページが壊れないかどうかは判定しません。ブラウザの実装差も扱いません。
- 複数のポリシー(ヘッダーが複数行)を合成したときの結果は計算しません。最初の 1 行だけを読みます。
- 実際にサイトへ接続してヘッダーを取得する機能はありません。貼り付けた文字だけを読みます。
ご利用にあたって
- 結果は仕様にもとづく構文の点検で、ポリシーの強さやサイトの安全性を保証するものではありません。「指摘なし」を「安全」と読み替えないでください。
- 本番の設定を変えるときは、まず Report-Only で挙動を確かめ、ページが壊れないことを検証環境で確認してください。