b « ケンタでもKFCでもない | メイン | 中学同窓会 » n

2006年04月29日

MT ]  MT3.2 スパムスコアの算出方法を平均から和 or 最小値に変更する

MovableTypeでは様々なスパム撃退用Plug-inが出ており、それらを使うとスパム判定用のスコアが個々に算出され、基準値以下のコメントやトラックバックを弾けるようになっています。

このトータルスコアの計算方法ですが、デフォルトでは個々のPlug-inごとに算出された値を平均した値になります。
なので例えば、

IPがブラックリストに入っている : -1
日本語が含まれていない : -3

とカウントされた場合、算出後のスコアは平均の-2となるため、日本語が含まれていないものを弾こうと基準値を-3に設定していたとしてもスルーしてしまいます。

これがどうにも納得がいかなかったため、スコアの算出方法を平均から変更しました。

■和に変更する場合。
要するに、上記の例の場合は-4が良い、という場合。
迷惑+迷惑はもっと迷惑。

mt導入済みのディレクトリ内の /lib/MT/JunkFilter.pm の80行目付近を以下の様に編集します。

if ($total) {
   $total = $total / $count if $count > 0;    ← 削除
   $total = 10 if $total > 10;    # この行を追加
   $total = -10 if $total < -10;    # この行を追加
   $total = sprintf("%.2f", $total);
......

■判定されたスコアの中で最小の値にしたい場合。
上記例だと一番小さい-3にしたい場合。

和の時の変更に加え、同じく /lib/MT/JunkFilter.pm の62行目付近を編集。

if ($score ne ABSTAIN) {
   $score = 10 if $score > 10;
   $score = -10 if $score < -10;
   $total += $score;    ← 削除
   $total = $score if ($total > $score || $count == 0);   # 追加
   $count++;
}

もっとも、最小の値に変更する手法は基準値以上のスコアを付けるPlug-inが全くの無意味になるだけのような気もするため、必要性は?です。
MTの設定画面から簡単に基準値を調節できるようになるという利点はありますが。

投稿者 kou : 10:43 | Permalink | このエントリーをはてなブックマークに追加


関連記事

トラックバック

トラックバックURL:
http://www.sailing-notes.com/cgi/mt/mt-tbk.cgi/256
(※ spam対策のため、言及リンクのないトラックバックは一時的に受付されないことがあります)

このリストは、次のエントリーを参照しています: MT3.2 スパムスコアの算出方法を平均から和 or 最小値に変更する:

» スパムフィルターのスコアの集計方法を変更する from オラオラ
Sailing Notes: MT3.2 スパムスコアの算出方法を平均から和 o... [続きを読む]

トラックバック時刻: 2006年06月02日 12:32

コメント

コメントしてください




保存しますか?