LoginSignup
4
5

More than 3 years have passed since last update.

Content-Security-Policy(CSP) 概要

Posted at
  • Content-Security-Policy(CSP) の概要をまとめる。

Content-Security-Policy(CSP) とは?

  • サーバーが、ブラウザに対して自身のセキュリティポリシーを表明するための仕組みを指す。
    • スクリプトや画像の実行可能範囲を指定する。

導入が必要な理由

  • クロスサイトスクリプティング(XSS)対策
    • XSSを目的とした外部のスクリプトコードが埋め込まれた際の影響を軽減する。 content-security-policy.png

構文

Content-Security-Policy: <policy-directive>; <policy-directive>
  • <policy-directive> = <directive> <value> 内部の句読点なし

    • directive種別 : 許可するリソースの種類(参考)
    • value : 'self'(同一ドメイン、同一ポート※サブドメイン除く)や特定のドメインを指定
  • 例1:自ドメインリソースのみを読み込み許可する場合

  Content-Security-Policy: default-src 'self'
  • 例2 : 自ドメインと指定ドメインのリソースのみを読み込み許可する場合
  Content-Security-Policy: default-src 'self' *.example.com

設定の流れ

  1. Web アプリが利用する各リソースについて、許可するオリジンのリストを定義する。

  2. サーバーから1.で定義した制御設定を Content-Security-PolicyHTTP ヘッダーに設定してを返却させる。
    metaタグに指定することも可能。

Apacheでの設定方法

  • 設定ファイル(.confファイルなど)に以下のように、記載を追加する。
Header set Content-Security-Policy "default-src 'self'; script-src 'self' *.example.com"

参考情報

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5