とうとう私のブログ(MT3)にも大量のコメントスパムがやってきました。以下に対処手順を記しておきます。
- Blogのバージョン
- Movable Type Version 3.01D-ja
- DB
- MySQL
まずは、大量のコメントを削除します。幸い私のブログのDBはMySQLを使用しており、また通常のコメントの頻度も少ないためSQL文1発で削除できました。実行したクエリはDELETE FROM comments WHERE comment_id >= 開始コメントID AND comment_id <= 終了コメントIDです。DBから削除しただけでは反映されないので、サイトの再構築を行います。これで削除は完了です。
次に、今後のコメントスパム対策を行います。1バイト文字のみのコメントを排除することにしました。コメントスパム対策 :小林Scrap Book のコードを参考に、lib/MT/App/Comments.pmを改造しました。234行目に以下のコードを追記します。
if(($q->param('text') ne "") && ($q->param('text') !~ m/[\x80-\xff]/)) {
return $app->handle_error($app->translate("Comment text is invalid."));
}
1バイト文字のみのコメントでエラーを確認し、2バイト文字を含めたコメントで成功を確認して終了です。
なお、改造は自己責任のもとでお願いします。



