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 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' を設定し、その後個別のソースを狭める。
使い方
- プリセットから始める(Strict はすべて 'self' にロック、Relaxed はインライン + ワイルドカードを許可、API-only はナビゲーションをブロック)。
- 各ディレクティブを編集 — フィールドを空にするとドロップ。
- 新しいポリシーをリリースするときは report-only をオン:違反は報告されるがブロックされない。
よくある質問
- ヘッダーか <meta> タグか — どちらを使うべき?
- HTTP ヘッダーが推奨される。<meta> 形式はレスポンスヘッダーを編集できないとき(静的ホストなど)に便利だが、frame-ancestors や report-uri/report-to を定義できないため、厳密に劣る。
- なぜワイルドカードが警告?
- ソースリストの * はあらゆる URL にマッチし、ポリシーを完全に無効化する。代わりに特定のオリジンに固定するか、'self' を使う — 本当にサードパーティスクリプトが必要な場合は明示的にリストする。
関連ツール
URL クエリビルダー
ベースアドレスと編集可能なキー値クエリパラメータを組み合わせて URL を構築 — 各ペアを切り替え可能、適切に percent エンコード。
IP アドレス インスペクター
IPv4 または IPv6 アドレスを入力すると、クラス、スコープ(プライベート / パブリック / ループバック / リンクローカル)、10 進数値、2 進数、逆引き DNS 表記、/32 CIDR を表示。
ポート番号リファレンス
約 60 個の標準 TCP / UDP ポート番号の検索可能なチートシート — 22 (SSH)、80 (HTTP) から 6379 (Redis)、27017 (MongoDB) まで。
DNS レコードリファレンス
DNS レコードタイプの検索可能なチートシート — A・AAAA・CNAME・MX・TXT・NS・SOA・PTR・SRV・CAA・DNSSEC・SVCB / HTTPS — 例付き。
サブネット計算機(IPv4 / CIDR)
IPv4 CIDR をネットワークアドレス・ブロードキャスト・ネットマスク・ワイルドカード・ホスト範囲・クラスにパース。バイナリ内訳とプライベート/パブリック判定。
User Agent パーサー
User-Agent 文字列をブラウザ・エンジン・OS・デバイス・CPU に解析。GPTBot・ClaudeBot・PerplexityBot を含む 20 以上のボットを検出。