ふと思いついたリファラスパム対策

最近は全くといっていいほどリファラスパムの襲来が無いのですけど,かなり前には大量にありました。viagra だとか casi­no だとか etc etc. そんな煩いリファラスパムを .htac­cess で deny はしているのですが,そのまま鸚鵡返しにしたい気分に駆られましてこんなコードを書いてみました(設定はしていません):
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{REQUEST_URI} .*plasticdreams.org.*
RewriteCond %{HTTP_REFERER} !.*casino.*
RewriteCond %{HTTP_REFERER} !.*viagra.*
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
</ifmodule>

Apache の中の人とか .htac­cess のエライ人とか mod_rewrite の魔術師の中の人と書いたら添削お願いします。
RewriteCond %{HTTP_REFERER} !.*casino.*のところって
正規表現使ってエラー出ないのかな?

Written by:

2 Comments

  1. 2. May 2007

    Rewrite­Cond %{REQUEST_URI} .*plasticdreams.org.*

    Rewrite­Cond は正規表現バリバリ OK なので大丈夫でしょう。むしろこれがダメですね。REQUEST URI にホスト部は入らないから、マッチしてくれないと思います。あと 301 の Redi­rect じゃなくて、403 For­bid­den にしてはどうでしょう。

  2. 5. May 2007

    ワオ,ありがとうございます
    テスト環境に入れて試してみてうまくいったらこの環境に入れて試してみます :d
    やっぱ301じゃなく403の方がいいのかー。

Comments are closed.