【こんてんつせきゅりてぃぽりしー】
Content Security Policy(CSP) とは?
💡 「このページが読み込んでいいもの」を制限する
📌 このページのポイント
CSPって具体的に何をするの?
HTTPヘッダーに Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.example.com と設定すると、スクリプトは自サイトとcdn.example.comからしか読み込めなくなる。攻撃者がXSSで<script src="https://evil.com/steal.js">を注入しても、evil.comは許可リストにないから実行がブロックされるんだ
設定が難しそう…
いきなり厳しいポリシーを設定するとサイトが壊れることがある。まずはContent-Security-Policy-Report-Only(報告のみモード)で試して、ブロックされるリソースを確認→ポリシーを調整→本番適用、というステップがおすすめ。CSP Evaluatorツールでポリシーの強度を事前チェックもできるよ
inline scriptはどう扱う?
CSP以外のセキュリティヘッダーは?
X-Frame-Options(iframe埋め込み防止、クリックジャッキング対策)、X-Content-Type-Options(MIMEスニッフィング防止)、Strict-Transport-Security(HSTS、HTTPS強制)、Referrer-Policy(リファラ情報の制御)。SecurityHeaders.comで自サイトのヘッダー設定をスキャンできるから試してみてね
📖 おまけ:英語の意味
「Content Security Policy」 = コンテンツセキュリティポリシー
💬 Content(コンテンツ)のSecurity(安全性)をPolicy(方針)で守る仕組みだよ