20分間に756回のアクセス。void GraphicWizardsLair( void ); //を参考にして .htaccess に追加。ボットが襲来するたびに .htaccess が肥大化していく。 .htaccess のオーバーヘッドってどれくらいなんだろう。
RewriteCond %{HTTP_REFERER} ^$ RewriteCond %{REMOTE_HOST} \.FreeBit\.NE\.JP$ [NC] RewriteCond %{HTTP_USER_AGENT} "^Mozilla/4.0 \(compatible; MSIE 6.0; Windows 98\)$" RewriteRule .* - [F]
'RewriteRule .* - [F]'で '403 Forbidden' を返す。
Waste Daysより。あの伝説が再び甦る。
Apache の RewriteRule はいつもハマる。
.htaccess ファイルは .htaccess を置いたディレクトリとその全てのサブディレクトリに適用される。
しかし RewriteRuleは例外。.htaccess に RewriteRuleを書いてもサブディレクトリには反映されない。アクセス制御に RewriteRule を使う場合には注意が必要。.htaccess を置いたディレクトリしかアクセス制御できない。サブディレクトリにも RewriteRule を反映させるためには
RewriteOptions inherit
をサブディレクトリの .htaccess に書く。でも副作用に気をつける。
サーバの設定で HostnameLookups が on になっていないと、Apache はアドレスの逆引きをしない。この場合は REMOTE_HOST ではなく REMOTE_ADDR を使う。
というわけで、 REMOTE_ADDRを使って
RewriteCond %{HTTP_REFERER} ^$ RewriteCond %{REMOTE_ADDR} ^43\.244\. [OR] RewriteCond %{REMOTE_ADDR} ^61\.203\.17 RewriteCond %{HTTP_USER_AGENT} "^Mozilla/4.0 \(compatible; MSIE 6.0; Windows 98\)$" RewriteRule .* - [F]
こんな感じ。
最近のコメント