CSP作成・検証ツール

ポリシーを、1行に1つずつ、またはセミコロンで区切って入力してください。コピーできるヘッダーと、スクリプト、スタイル、画像などに実際に適用されるルールの表、ポリシーを弱める値への注意が表示されます。

無料 ブラウザで動作 2026年11月10日火曜日確認済み

default-src 'self' のようなディレクティブです。セミコロンか改行で区切ります。ディレクティブの名前は、大文字と小文字を区別しません。

配信方法

Report-Onlyは、ポリシーを強制する前に試すためのヘッダーです。ヘッダー名は、出力の行に示されたものです。

結果

ヘッダーの行 — サーバーの設定、またはフレームワークのヘッダーの設定に貼り付けてください。
確認 — それぞれの注意は、結果の下に一覧で表示されます。
ヘッダーの行
リソースごとに適用されるルール

このツールはブラウザ内で動作します。入力した内容が当社に送信されることはありません。

使い方

  1. ポリシーに、ディレクティブを1行に1つずつ書きます。script-srcのように、名前は正しく書いてください。
  2. 配信方法を選びます。Content-Security-Policyはポリシーを強制し、Content-Security-Policy-Report-Onlyは、最初に試すためのヘッダーです。
  3. リソースごとに適用されるルールを読んで、どのディレクティブがスクリプト、スタイル、画像、フレームを制限するかを確かめます。
  4. ヘッダーの行をサーバーにコピーし、結果の下に一覧で出た注意をそれぞれ直します。

リソースに適用されるルール

ブラウザは、リソースの種類ごとに1つのディレクティブで確認します。そのディレクティブがない場合は、決まった順にさかのぼります。表に示される順番は、ブラウザがたどる順番です。この順番は、CSPレベル3の6.8.3節によります。

  • スクリプト:script-src-elem、次にscript-src、そしてdefault-src。
  • インラインのイベントハンドラー:script-src-attr、次にscript-src、そしてdefault-src。
  • スタイルシート:style-src-elem、次にstyle-src、そしてdefault-src。インラインのstyle属性も、style-src-attrで同じ形をたどります。
  • フレーム:frame-src、次にchild-src、そしてdefault-src。
  • ワーカー:worker-src、次にchild-src、次にscript-src、そしてdefault-src。
  • 画像、フォント、音声と動画、プラグイン、マニフェスト、fetchのリクエスト:それぞれ独自のディレクティブ、次にdefault-src。

ツールが読むこと

ディレクティブはセミコロンで区切られますが、このツールは改行も受け付けます。名前は最初の空白までが読まれ、大文字と小文字は区別しません。同じディレクティブが2回現れると、最初のものが有効になり、重複は読み飛ばされます(CSPレベル3、2.2.1節)。

  • 'self'や'none'のようなキーワードは、一重引用符で囲みます。'none'は、そのリストの中で単独で使わなければなりません。
  • nonceは'nonce-'に続けてbase64の値です。ハッシュは、sha256、sha384、sha512のどれかに、ダッシュとbase64の値を続けたものです(2.3.1節)。
  • ディレクティブの値の中にカンマは使えません。カンマはヘッダーでポリシーを区切るためです。

ツールがしないこと

  • ページを読み込んだり、ブラウザでポリシーを試したりはしません。表に示すのは、ブラウザが使うルールであり、ページが今も動くかどうかではありません。
  • キーワード、nonce、ハッシュのつづりは確かめますが、ホストやスキームの送信元は詳しくは確かめません。
  • リストにないディレクティブ(sandboxなど)は判断しません。それらはヘッダーの行に、変更されずに残ります。

例:サンプルのポリシー

サンプルのポリシーでは、script-src-elemがないため、スクリプトはscript-srcを使います。frame-srcもchild-srcもないフレームは、default-srcにさかのぼります。worker-srcもchild-srcもないワーカーは、script-srcを使います。style-srcには'unsafe-inline'があるため、ツールはそれを1件の注意として示します。

リソース 順番どおりに確認 使われるルール
スクリプト(script要素) script-src-elem、script-src、default-src script-src
フレーム(iframe要素) frame-src、child-src、default-src default-src
ワーカー worker-src、child-src、script-src、default-src script-src

よくある質問

書いていないスクリプトのルールが表に出てくるのは、なぜですか?

独自のディレクティブがないリソースは、さかのぼる先のディレクティブを使います。スクリプトの場合は、script-src-elem、次にscript-src、そしてdefault-srcです。表はブラウザが使うルールを示すため、script-srcがなくてもルールが表示されることがあります。

'unsafe-inline'は、何を許可しますか?

そのディレクティブが対象とする範囲で、インラインのスクリプトやインラインのスタイルを許可します。同じ送信元のリストにnonceかハッシュがあると、ブラウザは'unsafe-inline'を無視します(CSPレベル3、6.7.3.2節)。必要なインラインのコードには、どちらかを使ってください。

report-uriとreport-toは、どちらを書くべきですか?

report-toを使ってください。MDNは、report-uriを置き換えるディレクティブだと説明しています。report-toが広く対応されていない間は、MDNは両方を送ることを勧めています。このツールは、report-uriがあると注意を出します。

ディレクティブの名前が不明と表示されるのは、なぜですか?

このツールが判断するのは、ブラウザが実装し、MDNが説明しているディレクティブだけです。知らない名前は、ヘッダーの行にそのまま残りますが、表には含まれず、判断もされません。

このツールは、ポリシーをどこかに送りますか?

いいえ。ヘッダーはお使いのブラウザの中で作られます。入力した内容が運営者に送られたり保存されたりすることはなく、どのサイトでもポリシーは試されません。

CSPレベル3は、確定した標準ですか?

まだです。このツールが従う文書は、2026年10月27日付けのW3Cワーキングドラフトで、勧告トラックにある草案です。本番のポリシーでルールに頼る前に、最新版を確認してください。

出典

数値と文章の最終確認日:2026年11月10日火曜日。

当サイトの運営に必要なCookieを使用します。お客様の同意があれば、Googleは広告用Cookieを使い、パーソナライズ広告を表示します。拒否された場合も広告は表示されますが、パーソナライズはされません。