'none' に別のソースを足してしまった例
すべて禁止の意味の 'none' に、'self' を足してしまった書き間違いの例です。'none' は単独でしか使えないため、ブラウザが値を正しく読めないエラーになります。
入力
Content-Security-Policy の値
default-src 'none' 'self'
どこに書くポリシーか
Content-Security-Policy ヘッダー(強制)
結果
エラー 1 件・警告 0 件・情報 1 件
指摘(エラー・警告・情報)
- エラー 1 番目(default-src) default-src の 'none' はほかのソース式と一緒に使えません(CSP3 2.3.1)。'none' だけにするか、'none' を外します。
- 情報 default-src default-src が効くのは、読み込み系ディレクティブ(6.1 節)だけです。base-uri・form-action・frame-ancestors などは default-src に戻らないため、制限したいなら別に書きます(CSP3 6.3・6.4)。
| 読み取ったディレクティブ | 1 個 |
|---|---|
| 指摘の件数 | エラー 1 件・警告 0 件・情報 1 件 |
| 判定の範囲 | 構文・ディレクティブ名・ソース式の形・仕様に書かれた組み合わせだけを機械的に判定します。ポリシーの強さや安全性は判定せず、指摘がなくても安全とは限りません |
ディレクティブの一覧
| ディレクティブ | 値 | 区分 | 意味(CSP3 の節) |
|---|---|---|---|
| default-src | 'none' 'self' | 読み込み | 指定のない読み込み系ディレクティブの代わりになる既定(CSP3 6.1.3) |
検算(この結果になる理由)
CSP3 2.3.1 のソースリストは「ソース式の並び」か単独の 'none' のどちらかで、'none' は何にも一致しないため、他と同居できません。エラー 1 件です。default-src のため、効く範囲についての情報が 1 件加わります。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- 確認した範囲は CSP Level 3 の構文・ソース式・ディレクティブ一覧までです。Trusted Types や upgrade-insecure-requests など別仕様のディレクティブは「判定しない」として表に出します。
- ポリシーの強さ(回避されにくさ)や、実際のページが壊れないかどうかは判定しません。ブラウザの実装差も扱いません。
- 複数のポリシー(ヘッダーが複数行)を合成したときの結果は計算しません。最初の 1 行だけを読みます。
- 実際にサイトへ接続してヘッダーを取得する機能はありません。貼り付けた文字だけを読みます。
ご利用にあたって
- 結果は仕様にもとづく構文の点検で、ポリシーの強さやサイトの安全性を保証するものではありません。「指摘なし」を「安全」と読み替えないでください。
- 本番の設定を変えるときは、まず Report-Only で挙動を確かめ、ページが壊れないことを検証環境で確認してください。