トラックバックスパムやお行儀の悪いサーチエンジンを、Apacheのレベルでアクセス制限をかけることができますので、その手法をご紹介します。
まず、Apacheには「BrowserMatch」「BrowserMatchNoCase」という設定があります。
これは、条件に合致したユーザーエージェント(ブラウザ)のアクセスに対して、環境変数を設定するというものです。
たとえば、最近このブログなどにトラックバックスパムを大量にばら撒いている「TrackBack」というユーザーエージェントに対して、「spammer」という環境変数を与える場合は、下記のように設定します。
BrowserMatchNoCase "^TrackBack" spammer
「BrowserMatchNoCase」は、その名のとおりユーザーエージェント名に大文字小文字を区別しない、という設定です。
二番目の要素にユーザーエージェントの条件を正規表現で指定します。ここでは「^TrackBack」と指定しています。
三番目の要素で、環境変数を設定する変数名を指定します。単に変数名を指定したときは値に1(TRUE)が入ります。
ちなみにこの設定は、どこのディレクティブに書くこともできます。
次に、ここで設定した環境変数を使用します。
たとえばDirectoryディレクティブにアクセス拒否設定「Deny」を指定します。
<Directory /var/html>
Deny from env=spammer
</Directory>
このように設定することで、「spammer」と環境変数が指定されたユーザーエージェントからのアクセスを拒否することができます。
コメントする