脳ざらし紀行


2003-06-21

_ [ネット] .FreeBit.NE.JP からのアクセス

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' を返す。

_ [ネット] RewriteRuleのつづき

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]

こんな感じ。

お名前:
E-mail:
コメント:
本日のリンク元

最近のコメント

2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|04|05|
2011|04|
2012|03|07|
2013|01|02|07|
トップ «前の日記(2003-06-20) 最新 次の日記(2003-06-22)» 編集