[Hiki-dev:01312] trap_filter

Back to archive index

Kouhei Sutou kou****@cozmi*****
2010年 5月 16日 (日) 09:32:59 JST


須藤です。

tDiaryのように「メールアドレス欄に何か入力されていたらスパム
と判断する」フィルターを作りました。

  http://www.cozmixng.org/repos/ruby/hiki-ext/

hiki/filter/trap_filter.rbをHiki本体のhiki/filter/に入れて、
hiki/plugin/trap_filter.rbをhiki/plugin/に入れると動くと思い
ます。
(ほんとは、pluginはhiki/plugin/に直接入れるよりも
@options['sp.path']を設定した方がよいと思います。)


インストールすると、編集フォームにdisplay: noneなフィールド
を追加して、そこにダミーの値が設定されます。「保存」するとき
にその値が消されていないとスパムと判断します。通常は
JavaScriptで自動的にダミーの値が消されるので、インストールし
ても操作は変わりません。

tDiaryの場合は「botが明示的になにか入力してしまう」ことをス
パム判断の手がかりとしていますが、trap_filterは「botが明示的
に消さない」ことをスパム判断の手がかりとしています。最初は
tDiaryと同じ方法にしたのですが、効果がなかったのでこうしまし
た。


あ、あと、ついでに、スパム判定された投稿は自動的にベイズフィ
ルターに学習させるようにしています。




Hiki-dev メーリングリストの案内
Back to archive index