CSP
しーえすぴー
CSP
一言でいうと
ブラウザに「このページが読み込んでよいスクリプトや画像の出所」をHTTPヘッダで指示し、XSSを防ぐ仕組みのこと。
詳しい意味
CSP(Content Security Policy)は、サーバーが HTTP レスポンスヘッダで「このページが読み込んでよい JavaScript・CSS・画像・フォント・フレームの出所(ホスト名)」をブラウザに指示し、許可されていない出所からの読み込みや実行を遮断する仕組みです。XSS 対策の最終防衛線として機能し、たとえ XSS 脆弱性が混入しても CSP で外部スクリプトの実行が阻止されれば被害を最小化できます。`script-src 'self' https://trusted.com` のような形でホワイトリスト指定。インラインスクリプトを禁止する `'strict-dynamic'` や nonce 付与など、現代的な厳格 CSP は手間が増える代わりに防御力が大きく上がります。
何に使うか
XSS の二重防御を入れたい本番運用。広告タグ・分析タグなど外部スクリプトを使う中で安全性を担保したいとき。コンプライアンス(PCI DSS など)の要件として。
どんな時に出るか
「CSPで遮断された」「CSP nonce 設定」「CSP report-only モード」といった場面で登場します。
具体例
- CSP を report-only で導入し、本番のレポートを集めて違反箇所を1つずつ潰してから enforce に切り替えた。
- インラインスクリプトを禁止する厳格 CSP を導入し、XSS の影響範囲を構造的に縮小した。
別名・略称
csp(しーえすぴー)Content Security Policy(こんてんつせきゅりてぃぽりしー)
初心者向けメモ
ビルの入館ルールのようなものです。「うちのビル(Webページ)に入れていいのは、自社(self)と取引先(trusted.com)の社員だけ」と受付(CSP)に伝えておく。怪しい人(攻撃者の差し込んだスクリプト)が紛れ込んでも、受付で止められる仕組みです。