1. TOPTOP
  2. Webサービス
  3. Apache

X-XSS-Protectionレスポンスヘッダは.htaccessにmod_headersディレクティブを用いて記述する

wordpress_security_kusanagi_sakura_2

「徳丸本 第2版」のP.135においてXSS(クロスサイトスクリプティング)に対する保険的対策がいくつか紹介されています。その中にの1つとして、X-XSS-Protectionレスポンスヘッダの活用が挙げられています。

X-XSS-Protectionレスポンスヘッダについて

X-XSS-Protectionレスポンスヘッダの詳細な説明については、「徳丸本 第2版」のP.135より引用させていただきます。

X-XSS-Protectionレスポンスヘッダは、利用者によるXSSフィルタ設定を上書きして有効化・無効化を設定したり、その動作モードを変更したりするための機能です。

その上でHTTPレスポンスヘッダを以下のとおり出力するように推奨されています。

X-XSS-Protection: 1; mode=block

X-XSS-Protectionレスポンスヘッダの設定

「徳丸本 第2版」では上記の出力をするために、Apacheのmod_headersを導入した上で、以下の記述をするように書かれています。

Header set X-XSS-Protection "1; mode=block"

ただし自分の場合、本で説明されているX-XSS-Protectionレスポンスヘッダを具体的にどこにどう書くのか、すぐに分かりませんでした。そこでX-XSS-Protectionレスポンスヘッダをどこにどう記述すれば良いのかググって調べてみました。

mod_headersディレクティブを使用

ググって調べた結果、MDNApache(新しいタブで開く)の公式ドキュメントから、有力な情報を得ることができました。記述の内容は以下のとおりです。

<IfModule mod_headers.c>
  Header set X-XSS-Protection "1; mode=block" 
</IfModule>

.htaccessに記述箇所

# pwd
/var/www/html
# vi .htaccess

またそのX-XSS-Protectionレスポンスヘッダを定義する、mod_headersディレクティブは、ドキュメントルーディレクトリ直下にある.htaccessに記述します。なお.htaccessはWordPressサイトの制御をするために使用しています。