2004年7月アーカイブ
[blog][MovableType]MovableTypeに沢山のSPAMコメントが来る
まずは、DBのテーブルを見て
select * from mt_comment where comment_email like 'ljas%'
と、このメイルアドレスで投稿されているコメントがゴミであることを確認。次に
delete from mt_comment where comment_email like 'ljas%'
で消した。いくつかのメイルアドレスだったけど、なんと500件近くを消去。
毎回、SQL書くのも疲れるので、「JDBCプログラム書くかな」と思ったけど、MovableTypeのSPAMコメントについては、みなさんが困っているようで
ARTIFACT ―人工事実― | MovableTypeコメントSPAM対策
に対策方法がpickupされている。
まずはMovableTypeの編集メニューの改造
まずは、MovableTypeの編集メニューで、さっさか削除できるように
Memo Leaves: 編集メニュー画面からコメントスパムを一括削除
により、削除しやすいメニュー方式に変更するために ./tmpl/cms/menu.tmp を入れ替えた。
次に自動投稿を防ぐhidden登録
これは「C.G.I.: 簡単SPAMコメント対策」を参考にして、コメントのテンプレート
Comment Listing Template
Comment Preview Template
Commment Error Template
Individual Entry Archive
で、hiddenがある所に
<input type="hidden" name="nazo" value="nazodome" />
を追加して、/MT/lib/MT/App/Comments.pm の78行目からに
#Spam protection added by chrome add by tkyn
if (!$q->param('nazo')) {
return $app->handle_error($app->translate("Please check the 'Spam Protec
tion' system."));
}
とした。
かっちょいいのは、hiddenのvalueの内容を動的に変えながらチェックするんだけど、面倒なのでパス
コメント内容に漢字が無い場合に防御する
ついでに、
if ($q->param('text') !~ /[\x80-\xff]/ ) {
return $app->handle_error($app->translate("Comment text is required Kan
ji charactor."));
}
も追加してみようと思ったけど、これはEUCなら良いけど、「UTF-8では困るかもしれない」と思って、まだ利用していない。
URLペースでの防御
「blog.bulknews.net: MT コメントSPAM対策」には、Blocklistに乗っているURLだとコメントを投稿できない仕組みがあります。リストのメンテナンスが出来そうに無いので、まだ入れてないけどね。