今日もコメントスパムがどどっと押し寄せてきました。
先日のコメントスパム弾き実験 2 のコメントでも書いたのですが、 Zope のログを見てみるとどうもロボットでスパムなコメントをつけているのではなく、実際にブラウザから投稿してそげな感じ。もしくはちゃんとスタイルシートやなんやかんやまでダウンロードしてから投稿するという手の込んだスクリプトぽい。
あちこちで散見されるコメントスパムへの対策として、「コメントのテキストに日本語が含まれていなければそれはスパムである」というようなものがあるけど、それもちょっとなあ。可能性はかなーり低いにしても、ガイジンがなんらかのコメントをくれたりするようなこともあるかもしれないしなあと。

ということで、あちこちをぐるぐると回っていて、hail2u.net - Weblog - コメント・スパム対策いろいろに辿り着きました。「URLと本文の比較」と「本文のURLの数をチェック」の組み合わせなんて良いかも。ついつい慌ててつけられたスパムなコメントを削除しちゃったのですが、コメントのテキストにはURL欄でセットしたURLがいくつかあったもんな。

ということで、以下のようなことをしてみました。
Entry.py にて、各種モジュールをインポートしているところで urlparse をインポート。
import urlparse

次に、同じく Entry.py にて Entry クラス内の checkCommentValues() メソッドでコメントの値を色々とチェックしているところに以下追加。
#url
if url.count('http://') and body.count(urlparse.urlparse(url)[1]) > 5:
    REQUEST.form["show_worning"] = REQUEST.form["show_worning"] + 1
つまり、URL欄になんらかのURLがセットされ、そのURLのホスト部が五つ以上あった場合はそれはコメントスパムと判定するというものです。前回のと同様、これにひっかかっても適切なメッセージは表示されません(って、されませんじゃないだろという気もするけど...)。

これで効果はあるかな?
Posted by setomits at 07:06 | Comments: 6
Re: コメントスパム弾き実験 3
ううむ。なかなか大変そうですね。
うちはまだあんまり露出してないのでそういう苦労はないのですが、案をひとつ。
coreblogには同じIPからの連続投稿を制御する機能はありますか?
もしなければ、そういうプラグインを作られてはどうでしょう。
ちょっと大がかりになるけど、コメントが来るたびにIPアドレスと投稿時刻を外部のハッシュに記録しておき、同じIPアドレスから投稿が来るたびに、指定時間経過しているかどうかを比較してコメントを許可するかどうか決める、という感じで。
指定時間を10分ぐらいにしておけば、ふつうのユーザーはそれほど困らないだろうし、スパマーには大いなる時間の無駄になるので、2発目以降の被弾が少なくなると思われます。この方法だけだと1発目は食らってしまうけど、「どどっ」というのはなくなるんでないかなあ。
Posted by kharakawa at 09:57 on 2005 Oct 10th
Re: コメントスパム弾き実験 3
おお、なるほど。
確かに同じIPアドレスからの連続したコメント投稿ははねるというのは良いかも。
確かに1つくらいなら管理画面から消すのもそんなに苦ではないけど、たくさんってのが気がめいるのよね。あやうくまとめて削除するための仕組みでも作ろうかと考えるとこでした。後ろ向き。
Posted by setomits at 10:35 on 2005 Oct 10th
Re: コメントスパム弾き実験 3
> みなさんのとこには行ってないですか?

提示されたIPはアクセスに来てないみたいです。
ウチの場合は3回/分くらいのペースでPOSTされてますが、IPが毎回違います‥‥。

> あやうくまとめて削除するための仕組みでも作ろうかと考えるとこでした。

作っちゃった(;-;
Posted by しみずかわ at 05:41 on 2005 Oct 11th
Re: コメントスパム弾き実験 3
> ウチの場合は3回/分くらいのペースでPOSTされてますが、IPが毎回違います‥‥。
清水川さんとこくらいになると、コメントスパムの勢いも大変なもんですね。
でもって、IPアドレスが毎回違うようだと対処法はやっぱベイジアンネットとかを使う方法になるかもですね。
簡易なベイジアンネットフィルタもどきも用意しておこうかな。

> 作っちゃった(;-;
ふふ。これはこれで有意義じゃないすか。どこかで公開されてます?
Posted by setomits at 06:35 on 2005 Oct 11th
Re: コメントスパム弾き実験 3
今回ので功を奏したっぽい。35個のPOSTを弾きました。うれすぃー。
ちなみにこのアクセス元のIPアドレスは
200.40.238.74

みなさんのとこには行ってないですか?
# ってだれに言ってんだろ。
Posted by setomits at 12:16 on 2005 Oct 11th
Re: コメントスパム弾き実験 3
> どこかで公開されてます?

公開してみました。
次は投稿させない方法を考えないと‥‥
Posted by しみずかわ at 12:12 on 2005 Oct 12th
Leave a comment
Required fields are marked with *
search
calendar
Feb 2012
SunMonTueWedThuFriSat
   1234
567891011
12131415161718
19202122232425
26272829   
archives
photos on flickr
www.flickr.com