メインコンテンツへ
短.be

CSP

Content Security Policy の略。 Web ページで読み込み可能なリソースのソースを制限し、 XSS 攻撃を防止するセキュリティ機構。

2025年8月24日 · 約 1 分で読めます

セキュリティ

CSP (Content Security Policy) とは、 Web ページで読み込み可能なリソース (スクリプト、スタイルシート、画像、フォントなど) のソースを制限する HTTP レスポンスヘッダーです。 XSS 攻撃の被害を大幅に軽減できるセキュリティ機構として、 OWASP が推奨しています。

CSP の基本的な仕組みは、「このページでは、これらのソースからのリソースのみ読み込みを許可する」というホワイトリストをブラウザに伝えることです。たとえば、 Content-Security-Policy: script-src 'self' https://cdn.example.com と設定すると、自サイトと cdn.example.com からのスクリプトのみ実行が許可され、攻撃者が注入したインラインスクリプトはブロックされます。

CSP の導入で最も苦労するのが、既存のインラインスクリプトやインラインスタイルへの対応です。 CSP はデフォルトでインラインコードの実行を禁止するため、 onclick 属性や <script> タグ内のコードが動作しなくなります。対処法として、 nonce (ワンタイムトークン) を使う方法と、 hash (スクリプトのハッシュ値) を使う方法があります。 nonce 方式はサーバーがリクエストごとにランダムな値を生成し、スクリプトタグと CSP ヘッダーの両方に同じ値を設定します。

まずは Content-Security-Policy-Report-Only ヘッダーで「違反を報告するだけでブロックしない」モードで運用し、レポートを分析してから本番適用するのが安全な導入手順です。関連書籍は Amazon でも探せます。

X でシェアはてブ

この記事は役に立ちましたか?

関連用語

関連記事

よくある質問

CSP を設定するとどのような攻撃を防げますか?
XSS (クロスサイトスクリプティング) 、データインジェクション、クリックジャッキングなどの攻撃を防止できます。許可されたソースからのリソースのみを読み込むよう制限します。
CSP の設定方法は?
HTTP レスポンスヘッダー (Content-Security-Policy) または HTML の <meta> タグで設定します。まず Content-Security-Policy-Report-Only で影響を確認してから本番適用することを推奨します。

短縮 URL を作成してみませんか?

無料で URL を短縮する