TL;DR
Web ページが読み込むリソースの取得元を制御するためのセキュリティポリシー。略して CSP と呼ぶ。
なぜ必要か
CSP を使うと、ブラウザは許可したドメインからのリソースだけを読み込む。これにより、XSS やインジェクション攻撃などのリスクを減らせる。
仕組み
CSP は、HTTP のレスポンスヘッダか、HTML の <meta> で定義する。HTTP レスポンスヘッダでは、Content-Security-Policy ヘッダを使う。
例
Content-Security-Policy: default-src 'self'; img-src *; script-src https://trusted.cdn.comそれぞれのディレクティブの意味は次のとおりである。
default-src 'self': すべての種類のリソースを、同じオリジンからだけ読み込む。img-src *: 画像は、どのオリジンからでも読み込める。script-src https://trusted.cdn.com: JavaScript のスクリプトは、https://trusted.cdn.comからだけ読み込める。