CSPとは?
しーえすぴー
CSPとは、Webページが読み込めるリソースの種類や送信元をブラウザに指示し、クロスサイトスクリプティングなどの攻撃を防ぐセキュリティの仕組みです。
CSP(Content Security Policy)とは、WebサーバーがHTTPレスポンスヘッダーを通じてブラウザに「どこのサーバーからどのリソースを読み込んでよいか」を宣言するセキュリティポリシーです。W3Cが策定した仕様であり、主要なブラウザすべてが対応しています。
従来のWebセキュリティではサーバー側でのバリデーションが中心でしたが、XSS(クロスサイトスクリプティング)攻撃はブラウザ上で悪意のあるスクリプトを実行させるため、サーバー側だけでは防ぎきれませんでした。CSPはブラウザ側に制約を課すことで、攻撃者が注入したスクリプトの実行そのものを阻止します。
CSPの主な設定項目(ディレクティブ)には次のものがあります。
- script-src:実行を許可するJavaScriptの送信元
- style-src:適用を許可するCSSの送信元
- img-src:読み込みを許可する画像の送信元
- connect-src:XHRやFetchで通信を許可するURL
- default-src:各ディレクティブの既定値
たとえば Content-Security-Policy: default-src 'self' と設定すると、自ドメイン以外のすべてのリソース読み込みがブロックされます。report-uriディレクティブを併用すれば、ポリシー違反をサーバーに報告させることも可能です。CSPを適切に設定することは、現代のWebアプリケーションにおけるセキュリティ強化の重要な手段のひとつです。
使い方・例文
Webアプリの開発・運用時に、HTTPレスポンスヘッダーや<meta>タグでCSPを設定する場面で登場します。特にXSS対策やデータ漏洩防止を強化したいサービスで広く使われます。
この用語をシェア
最終更新: