.htaccessの設定解説 > .htaccessで特定ホストの制限をする

.htaccessで特定ホストの制限をする

迷惑行為をするホストを制限する場合に使用します。その他のアクセスは許可します。ホストはIPやドメインのことです。ホスト以外にリファラ(参照元)やユーザーエージェント(アクセスソフト、ブラウザ等)によっても制限することができます。

特定ホストの制限をする記述方法

order allow,deny
allow from all
deny from xxx.net
deny from yyy.com
deny from 111.222.

この記述では、まずallowを評価してdenyを後で評価することになります。allow from allですべてのアクセスを許可し、そのうちxxx.netとyyy.comのドメインと111.222.を含むIPのみ拒否するというものです。

deny fromの後に自分のIPを入れてアクセスして、403エラーが出れば正しく自分を制限できたという確認ができます。

特定リファラを制限する記述方法

SetEnvIf Referer "http://xxx.net/" dame1
SetEnvIf Referer "http://yyy.com/" dame2
order allow,deny
allow from all
deny from env=dame1
deny from env=dame2

この記述ではまず、http://xxx.net/をdame1と設定し、http://yyy.com/をdame2と設定しています。dame1とdame2はaaa1とaaa2ののように自由に記載することができます。allow from allですべてのアクセスを許可し、http://xxx.net/のサイトを含むアドレスからのアクセスと、http://yyy.com/のサイトを含むアドレスからのアクセスを拒否します。

特定ユーザーエージェントを制限する記述方法

SetEnvIf User-Agent "ANONYMOUS" dame1
SetEnvIf User-Agent "Firefox" dame2
order allow,deny
allow from all
deny from env=dame1
deny from env=dame2

この記述ではまず、ANONYMOUSという名前でアクセスするソフト(ブラウザなど)をdame1と設定し、Firefoxという名前でアクセスするソフトをdame2と設定しています。allow from allですべてのアクセスを許可し、そのうちANONYMOUS又はFirefoxという名前を含むソフトでのアクセスを拒否します。