No Web Service No Life

メルカリUS/UK版のPM。ブロダクトマネジメント・インターネットについて

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に記述することで、特定のリファラからのみのアクセスを受け付けることも可能です。


最新のWebサービス・スマホアプリの情報が毎日メールで受信できるキュレーションサービス『Service Safari』を運営しています。
エンジニアを募集していますので、ご興味のある方はFacebookやTwitterからご連絡ください。