Webセキュリティ設定

CSPジェネレーター配信前に適用指令を確認

ポリシー本文または指令を編集し、整形ヘッダーと一件のリソース照合結果を確認します。

CSPジェネレーター

ポリシー本文

指令エディター

現在の結果

一件のソース照合

この静的例ではソースに不一致

対象とするどのソースもこのURLと一致しません。

適用指令: script-src · フォールバック使用

ポリシーの指摘

対象とした問題は見つかりません。配信承認ではありません。

解析した指令

6件中6件の指令を表示

  • default-src 'self'
  • script-src 'self'
  • img-src 'self' data:
  • object-src 'none'
  • base-uri 'self'
  • frame-ancestors 'none'

ポリシー、ホスト、例のURLはこのブラウザー内で処理され、通信しません。

Report-Onlyは違反候補を観測するだけで、読み込みを阻止しません。報告の送信には配信先の設定が必要で、このページは送受信しません。

指令6件・指摘0件

外部スクリプトが急に読み込めなくなったとき、CSPジェネレーターはどの指令が適用されるかを示します。初期例ではexample.com上のページがcdn.example.comのスクリプトを要求し、意図的に不一致になります。実運用向けの推奨設定ではありません。

このCSP生成ツールはテキストと指令編集を同じ草稿に結び付けます。CSPアナライザーとして個別の警告も示しますが、安全性を単一の点数で証明しません。

CSPジェネレーターを使う理由

適用されるソースを確かめる

CSPジェネレーターは取得種別に合う指令を選び、必要な場合だけdefault-srcへフォールバックします。初期例のCDNスクリプトはscript-srcのselfに一致しません。正確なCDNホストを追加した場合に限り、この一件の静的結果が変わります。

CDNのスクリプト要求をソース一覧と比較し、不一致と一致の経路を分けた図。

警告の理由を指令単位で読む

CSP検証ではnoneと他のソースの混在、重複指令の順序を区別する必要があります。混在時のnoneは無効で、重複時は先頭が有効です。Report-Onlyによる観測も強制的な遮断と分けて示します。

指令ごとの警告カードと、強制モードとReport-Onlyモードを分離した図。

コピー前に結果の根拠を読む

01

不一致の例から始める

example.com上のページからcdn.example.comのスクリプトを読む例です。適用されたscript-srcとフォールバック表示を見てから、ご自身のURLに置き換えてください。

02

配信モードとnonce例を分ける

Report-Onlyはヘッダー名を変えるだけでリソースを遮断しません。report-toまたはreport-uriがなければ送信先もありません。nonceボタンの値は草稿に挿入されません。

03

古い結果を出力しない

自動確認は変更から350ミリ秒後に行います。オフならボタンかCtrl/Cmd+Enterで実行します。入力変更中はコピーと保存が止まり、消去や例の読み込みにはプレビューと一回の取り消しがあります。

本文から読み取れること

テキストと指令を同時に編集

CSPジェネレーターは値だけでもCSPヘッダー一行でも受け付けます。未知の指令と重複順序を残し、構文が壊れても元の本文を消さずに修正できます。

広すぎる指定を説明

CSPアナライザーはunsafe-inline、unsafe-eval、単独の*、広いスキーム、欠けた基礎指令、noneの混在を指摘します。既存のページを壊す恐れがあるため、自動削除はしません。

外部要求を一件だけ試す

ページとリソースのHTTP(S) URLを比較し、実際に参照した指令と回退を表示します。パス指定、strict-dynamic、nonceの実行文脈が必要なら判定不能と表示します。

現在のヘッダーだけを書き出す

順序を保って整形し、強制またはReport-Onlyのヘッダー名で出力します。本文や要求を変更した瞬間、古い結果のコピーと保存は使えなくなります。

この静的確認の範囲

サイトを巡回しない
このContent-Security-Policyヘッダーの確認は実サイトや応答ヘッダーを取得しません。一件の貼り付けたポリシーだけを見るため、指摘がなくても配信サイトの安全性は証明できません。
default-srcが補うのは取得指令
base-uri、form-action、frame-ancestorsにはdefault-srcのフォールバックがありません。複数ポリシー、リダイレクト、インラインコード、ブラウザー差異も一件のURL照合には含まれません。
nonce例を固定設定にしない
表示値はこのブラウザーで作った一時的な乱数です。サーバーでレスポンスごとに再生成し、許可する要素とヘッダーに同じ値を埋め込む必要があります。
Report-Onlyには報告先が要る
Content-Security-Policy-Report-Onlyは違反候補を観測するだけです。report-to名には配信時のReporting-Endpointsヘッダーも必要で、本ページは報告を受信しません。
meta版やサーバー設定を生成しない
meta要素ではReport-Onlyやframe-ancestorsなどを同等に表現できません。出力はHTTPヘッダー本文で、NginxやApacheの設定用引用符は生成しません。

CSPジェネレーターのよくある質問

どのCSPソースがシングルクォートを付けられ、どれが付かないのですか?

selfやnone、nonce、ハッシュは引用符付きのキーワードです。https:やdata:、cdn.example.comのようなスキームとホストは引用符を付けません。エディターは自動補正しないため入力値を確認してください。

report-onlyトグルは何のためのものですか?

Content-Security-Policy-Report-Onlyという観測用ヘッダーを出します。実際の報告にはサーバー側の報告先設定が必要で、ここからリクエストは送られません。

ポリシー全体をCSPメタタグとして配信できますか?

同等にはできません。Report-Onlyとframe-ancestorsなどはHTTPレスポンスヘッダーで配信してください。このツールもヘッダーだけを書き出します。

なぜヘッダーは、入力しなかったディレクティブを省くのですか?

このツールは入力した指令を保持します。未入力の指令は出力せず、取得指令ならdefault-srcがある場合だけ回退します。base-uriなどにはその回退はありません。

CSPヘッダーを構築すると、私のホストはどこかに送られますか?

いいえ。本文、ホスト、例のURLはブラウザー内だけで解析します。サイトの実応答も取得しないので、配信状態は別途確認してください。

別のケースも確認したいですか?

CSPジェネレーターで草稿を確認

一件のリソースURLを比べ、適用指令と指摘を読んでから最新のヘッダーをコピーしてください。