AZ Tools

Content-Security-Policy ビルダー

ネットワーク

ディレクティブごとのフォームから Content-Security-Policy ヘッダーを構成する。各ディレクティブはスペース区切りのソースリスト('self'、'none'、'unsafe-inline' などのキーワード、スキーム/ホストソース)を受け入れる。unsafe-inline、unsafe-eval、ワイルドカードを含むポリシーにフラグを立て、空のディレクティブを出力から省略し、レスポンスヘッダー形式と同等の <meta> タグの両方を出力する。新しいポリシーを本番にロールアウトしている間は report-only モードに切り替え。

プリセット
ディレクティブ
ヘッダー
Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; font-src 'self'; connect-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'none'
<meta> タグ
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; font-src 'self'; connect-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'none'">

空のディレクティブは default-src にフォールバックする。最初に default-src 'self' を設定し、その後個別のソースを狭める。

使い方

  1. プリセットから始める(Strict はすべて 'self' にロック、Relaxed はインライン + ワイルドカードを許可、API-only はナビゲーションをブロック)。
  2. 各ディレクティブを編集 — フィールドを空にするとドロップ。
  3. 新しいポリシーをリリースするときは report-only をオン:違反は報告されるがブロックされない。

よくある質問

ヘッダーか <meta> タグか — どちらを使うべき?
HTTP ヘッダーが推奨される。<meta> 形式はレスポンスヘッダーを編集できないとき(静的ホストなど)に便利だが、frame-ancestors や report-uri/report-to を定義できないため、厳密に劣る。
なぜワイルドカードが警告?
ソースリストの * はあらゆる URL にマッチし、ポリシーを完全に無効化する。代わりに特定のオリジンに固定するか、'self' を使う — 本当にサードパーティスクリプトが必要な場合は明示的にリストする。

関連ツール