アクセス制限

頻繁に書込みのあるアダルトサイトに対してアクセス制限を掛けることにしました。方法はリンク元のURL情報を取得して.htaccessファイルで制限する方法です。リンク元のURL情報はHTTP_REFERERという環境変数をつかって調査することが出来ますので書込みのあったアダルトサイトを調査した結果、どの書込みも同じURLから来てるのがわかりました。いずれもレンタルサーバーのお試し期間10日間とかいう無料のサーバーからのアクセスでお試し期間が終わったらまた別のところからアクセスするというやり方みたいです。とりあえずレンタルサーバーのURLがわかったので、後は.htaccessというファイルを作成して掲示板が置かれているディレクトリーに.htaccessを置くだけです。
.htaccessの内容は次のようにしました。

SetEnvIf Referer "^http://yokensaka\.com/referer\.html" target_1
SetEnvIf Referer "^http://enemy\.sakura\.ne\.jp/" target_2
SetEnvIf Referer "^http://moemi\.sakura\.ne\.jp/" target_3
SetEnvIf Referer "^http://gdddow\.0ch\.biz/" target_4
order allow,deny
allow from all
deny from env=target_1
deny from env=target_2
deny from env=target_3
deny from env=target_4

target_1はどんな風にアクセス禁止になるのか見るためのアクセス禁止サンプルURLです。
target_2~target_4がアクセス禁止にしたいURLです。
アクセス禁止サンプルページにアクセスしてそこから各掲示板をクリックしてみてください。アクセス禁止になってるはずです。これでアダルトサイトからの書込みはなくなるはずですが、やつらは手を変えてまた書込みしてくると思いますのでそのときはまた対処するようにします。
追記
よくよく調べたらURLの最後が全て「23index.php」と「31index.php」いうファイル名になっていました。ホストを変えても最後のファイル名は同じようなのでホストのところを「.*」というワイルド指定で制限かけることにしました。
ということで「.htaccess」の内容は以下のように変更しました。

SetEnvIf Referer "^http://.*/referer\.html" target_1
SetEnvIf Referer "^http://.*/*/23index\.php" target_2
SetEnvIf Referer "^http://.*/*/31index\.php" target_3
order allow,deny
allow from all
deny from env=target_1
deny from env=target_2
deny from env=target_3

追記 06/01/29
英語圏からのアクセスをはじくために日本語使用者だけをアクセス可能にする。
日本語を受け入れる設定の人以外を弾くための.htaccessです。

SetEnvIf Accept-Language ja Lilith
Order Deny,Allow
Deny from all
Allow from env=Lilith