記事一覧

.htaccess ユーザーエージェントでアクセス制限(アクセス禁止・拒否、弾く)

.
.htaccess(ドット ht アクセス)と言いますと.htpasswd(ドット ht パスワード)とセットにして、Basic認証(IDとパスワード)で
守られた会員制(アクセス制限)のコンテンツ(またはページ)をサイト内に設置する事が可能です。
これは私も以前に設置した経験がありました。

今回は.htaccess(ドット ht アクセス)を使って、特定のユーザーエージェントから自分のサイトへアクセスを禁止する場合。
ここで言うユーザーエージェント(UA)とはブラウザ(インターネットエクスプローラとかファイヤフォックスとか)の事です。
例えば
「IE6.0」の場合は「Mozilla/4.0 (compatible; MSIE 6.0; Windows ***略****)」 等
「Firefox」の場合は「Mozilla/5.0 (Windows; U; Windows ***略****) Gecko/***略**** Firefox/***略****」 等

仮にIPアドレスが「***.**.***.130」という来訪者のUA(ユーザーエージェント)が「Mozilla/3.01 (compatible;) 」とします。
そして、UAで弾く事にします。

【.htaccessの記述】
私の場合、メモ帳でhtaccess.txtを作ってFFFTPでアップロードしてから「名前変更」で.htaccessにします。

SetEnvIf User-Agent "^Mozilla/3\.01 \(compatible;\)$" deny_ua
SetEnvIf User-Agent "複数指定する場合、続けて記述する" deny_ua ←1つの場合は不要
order allow,deny
allow from all
deny from env=deny_ua

正規表現で「^」「\」「$」を使います。 「^」=行の先頭、「$」=行の末尾。「.」と「 ( 」「 ) 」の直前には「\」を記述する。
上記の場合は「Mozilla/3.01 (compatible;)」と名乗っているUAのみをアク禁にします(これで良いと思いますけど)。
ユーザーエージェントには行儀の悪い自動巡回ソフト、自動巡回ロボットの名前に変えても良いと思います。

【この来訪者のIPアドレスでアクセス禁止(アクセス拒否)にしたい場合の.htaccess】
order allow,deny
allow from all
deny from ***.**.***.130

【この来訪者の所属するIPアドレス全体を拒否する場合 (仮に***.**.***.128/26とします) 】
order allow,deny
allow from all
deny from ***.**.***.128/26

【参考サイト様】
.htaccess実践活用術・・・・・・・・・・・http://www.shtml.jp/htaccess/index.html
サルにもわかる正規表現入門・・・・http://www.mnet.ne.jp/~nakama/
.
.

▲ Page top