CSP(Content Security Policy)はサーバー側でスクリプトのホワイトリストを作成することで、サイト上で実行するスクリプトファイルやインラインのscript要素、HTML上のonclickイベントハンドラを制御する機能のこと。

httpd.confやhtaccessファイルに記述することで、機能を利用できる。

# 自ドメイン以外のスクリプトは実行されなくなる
Header set Content-Security-Policy "defaule-src 'self'"

スクリプト以外にも下記のような項目を制御できる。

  • default-src
  • script-src
  • style-src
  • font-src
  • frame-src
  • img-src
  • media-src
  • object-src
  • base-uri
  • child-src
  • connect-src

WordPressの場合、多数のインラインスクリプトが使用されていることもあり、下記のようにwp-admin配下は設定を外すようにする。

# wp-adminディレクトリの.htaccessに指定
Header unset Content-Security-Policy