- 2005-02-03 (木) 0:35
- MovableType
先日、MT-Bayesianのエントリを書きましたが、まだまだコメントスパムは来ているようです。
しかし、このプラグイン自体はスパムコメントの削除をしてくれるわけではなく、MT用のタグを用いることによって、スパムコメントを非表示にしてくれるだけなので、TOPのRecent Commentなどにはスパムコメントのタイトルのみがずらずらと並んでしまいます。
そこで、こちらの記事にあった方法で、コメントそのものをはじいてみることにしました。
結果は良好のようで今のところスパムコメントが記事に反映されることはないような感じです。
反映されないということはつまり、エントリのリビルドが起こらないので、いっぱいスパムコメントを送られてもサーバに負荷がかからなくなったかと思います。
はじかれたコメントはエントリ自体には表示されませんが、DBには保存されているので、もし間違った判定をしていたならば、もう一度トレーニングして表示させることも可能なようです。
ふーむ なるほど
使い方次第でいろいろ出来るんですねぇ
リンク先にはいくつか書き換え方法が書いてありますが、私は三番目の方法を試してみることにしました。
まず、lib/MT/App/Comments.pmを開いて、
$comment->save;
$app->rebuild_indexes( Blog => $blog )
となっている部分を探します。
私はMT2.661を使っているのですが、一カ所しかありませんでした。
ここを以下のように書き換えます。
$comment->save;
require MT::Bayesian;
my $by = MT::Bayesian->new;
$by->new_bayesian( {blog_id => $entry->blog_id, comment_id => $comment->id} );
if ($by->prob*100>80) {
$app->log(“SpamComment: $user_ip”);
return $app->handle_error(‘スパムコメントの可能性があります’);
}
$app->rebuild_indexes( Blog => $blog )
if ($by->prob*100>80) となっている、80の部分がSpam Probabilityに当たるもので、今だと80%より上と判定されたものは表示させないと言う風になっています。
フィルタの学習が進んでいないうちはここの値を高くしておけばいいんじゃないかと思います。
- Newer: 「友達リスト」仕様変更のようです
- Older: なにやら大量のコメントスパムが…(Bayesianfilter導入
Comments:1
- eternal miracle blog mode 05-02-08 (火) 1:02
-
ベイジアンフィルタと連携(スパムトラックバック対応
MT-Bayesianと連携してスパムトラックバックをうけても自動リビルドしないように改造。
Trackbacks:0
- Trackback URL for this entry
- http://blog.eternalmiracle.net/taka/archives/2005/02/03-003543/trackback
- Listed below are links to weblogs that reference
- ベイジアンフィルタと連携 from eternal miracle blog mode
