Apacheで特定のリファラからのアクセスを制限する
最新のアプリ・Webサービスを紹介するサービスサファリを運営しています。
不正アクセスや攻撃を受けたりして、特定のリクエストを制限したいということが発生することがあります。
リファラを指定しての制限は、httpd.confに以下のように記述します。
<Directory /var/www/hoge> SetEnvIf Referer "http://example.com/" hoge Deny from env=hoge </Directory>
SetEnvIf Refererの後は、制限対象のリファラと環境変数名を記述します。
Deny fromで、設定した環境変数名を指定することで、そのリファラからのアクセスを制限することが可能です。
設定後、Apacheを再起動しアクセスすると、403が返却されるようになります。
ログには以下のように出力されます。
client denied by server configuration: /var/www/hoge, referer: http://example.com/
Allow fromに記述することで、特定のリファラからのみのアクセスを受け付けることも可能です。