CSP(しーえすぴー)
最終更新:2026/4/27
CSPは、コンテンツセキュリティポリシーの略であり、ウェブページで許可されるコンテンツの種類を定義するセキュリティ機能である。
ポイント
CSPは、クロスサイトスクリプティング(XSS)攻撃などのセキュリティリスクを軽減するために、ブラウザに指示を出すことで機能する。
CSPとは
CSP(Content Security Policy)は、ウェブアプリケーションのセキュリティを強化するための重要な仕組みです。ウェブサイトが読み込むことのできるリソース(スクリプト、スタイルシート、画像など)の出所を制限することで、クロスサイトスクリプティング(XSS)攻撃やその他のコードインジェクション攻撃から保護します。
CSPの仕組み
CSPは、HTTPレスポンスヘッダーまたはHTMLの<meta>タグを通じてブラウザに指示を伝えます。指示は、許可されるリソースのソース(ドメイン、スキームなど)を定義するディレクティブのセットで構成されます。ブラウザは、これらのディレクティブに従って、どのリソースを読み込むかを決定します。許可されていないリソースの読み込みはブロックされます。
CSPの主なディレクティブ
- default-src: デフォルトのソースポリシー。他のディレクティブで指定されていないリソースに適用されます。
- script-src: JavaScriptスクリプトのソース。
- style-src: スタイルシートのソース。
- img-src: 画像のソース。
- connect-src: XMLHttpRequest、WebSocket、EventSourceなどのネットワーク接続のソース。
- font-src: フォントのソース。
- object-src: プラグイン(Flashなど)のソース。
- media-src:
<audio>や<video>などのメディア要素のソース。 - frame-src:
<iframe>要素のソース。
CSPの導入方法
CSPは、ウェブサーバーの設定を変更するか、HTMLの<meta>タグを追加することで導入できます。HTTPレスポンスヘッダーを使用する方法が推奨されます。なぜなら、<meta>タグを使用する方法は、HTMLが解析されるまでポリシーが適用されないため、XSS攻撃に対して脆弱になる可能性があるからです。
CSPの注意点
CSPを導入する際には、ウェブサイトの動作に影響を与えないように、慎重にポリシーを設定する必要があります。誤った設定は、ウェブサイトの機能が正常に動作しなくなる原因となる可能性があります。また、CSPはXSS攻撃を完全に防ぐものではありません。他のセキュリティ対策と組み合わせて使用することが重要です。