2005
Oct
10th
今日もコメントスパムがどどっと押し寄せてきました。
先日のコメントスパム弾き実験 2 のコメントでも書いたのですが、 Zope のログを見てみるとどうもロボットでスパムなコメントをつけているのではなく、実際にブラウザから投稿してそげな感じ。もしくはちゃんとスタイルシートやなんやかんやまでダウンロードしてから投稿するという手の込んだスクリプトぽい。
あちこちで散見されるコメントスパムへの対策として、「コメントのテキストに日本語が含まれていなければそれはスパムである」というようなものがあるけど、それもちょっとなあ。可能性はかなーり低いにしても、ガイジンがなんらかのコメントをくれたりするようなこともあるかもしれないしなあと。
ということで、あちこちをぐるぐると回っていて、hail2u.net - Weblog - コメント・スパム対策いろいろに辿り着きました。「URLと本文の比較」と「本文のURLの数をチェック」の組み合わせなんて良いかも。ついつい慌ててつけられたスパムなコメントを削除しちゃったのですが、コメントのテキストにはURL欄でセットしたURLがいくつかあったもんな。
ということで、以下のようなことをしてみました。
先日のコメントスパム弾き実験 2 のコメントでも書いたのですが、 Zope のログを見てみるとどうもロボットでスパムなコメントをつけているのではなく、実際にブラウザから投稿してそげな感じ。もしくはちゃんとスタイルシートやなんやかんやまでダウンロードしてから投稿するという手の込んだスクリプトぽい。
あちこちで散見されるコメントスパムへの対策として、「コメントのテキストに日本語が含まれていなければそれはスパムである」というようなものがあるけど、それもちょっとなあ。可能性はかなーり低いにしても、ガイジンがなんらかのコメントをくれたりするようなこともあるかもしれないしなあと。
ということで、あちこちをぐるぐると回っていて、hail2u.net - Weblog - コメント・スパム対策いろいろに辿り着きました。「URLと本文の比較」と「本文のURLの数をチェック」の組み合わせなんて良いかも。ついつい慌ててつけられたスパムなコメントを削除しちゃったのですが、コメントのテキストにはURL欄でセットしたURLがいくつかあったもんな。
ということで、以下のようなことをしてみました。
Entry.py にて、各種モジュールをインポートしているところで urlparse をインポート。
次に、同じく Entry.py にて Entry クラス内の checkCommentValues() メソッドでコメントの値を色々とチェックしているところに以下追加。
これで効果はあるかな?
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
うちはまだあんまり露出してないのでそういう苦労はないのですが、案をひとつ。
coreblogには同じIPからの連続投稿を制御する機能はありますか?
もしなければ、そういうプラグインを作られてはどうでしょう。
ちょっと大がかりになるけど、コメントが来るたびにIPアドレスと投稿時刻を外部のハッシュに記録しておき、同じIPアドレスから投稿が来るたびに、指定時間経過しているかどうかを比較してコメントを許可するかどうか決める、という感じで。
指定時間を10分ぐらいにしておけば、ふつうのユーザーはそれほど困らないだろうし、スパマーには大いなる時間の無駄になるので、2発目以降の被弾が少なくなると思われます。この方法だけだと1発目は食らってしまうけど、「どどっ」というのはなくなるんでないかなあ。
確かに同じIPアドレスからの連続したコメント投稿ははねるというのは良いかも。
確かに1つくらいなら管理画面から消すのもそんなに苦ではないけど、たくさんってのが気がめいるのよね。あやうくまとめて削除するための仕組みでも作ろうかと考えるとこでした。後ろ向き。
提示されたIPはアクセスに来てないみたいです。
ウチの場合は3回/分くらいのペースでPOSTされてますが、IPが毎回違います‥‥。
> あやうくまとめて削除するための仕組みでも作ろうかと考えるとこでした。
作っちゃった(;-;
清水川さんとこくらいになると、コメントスパムの勢いも大変なもんですね。
でもって、IPアドレスが毎回違うようだと対処法はやっぱベイジアンネットとかを使う方法になるかもですね。
簡易なベイジアンネットフィルタもどきも用意しておこうかな。
> 作っちゃった(;-;
ふふ。これはこれで有意義じゃないすか。どこかで公開されてます?
ちなみにこのアクセス元のIPアドレスは
みなさんのとこには行ってないですか?
# ってだれに言ってんだろ。
公開してみました。
次は投稿させない方法を考えないと‥‥