XOOPS で運用中の別サイト内ニュースモジュールにスパムコメントが書き込まれていた。
2007/08/21 からスパムコメントの書き込みが始まったらしく、2007/09/04 で終わってて合計で 200 件ぐらい。今さら気が付く俺も俺な訳だが…。orz
## スパムコメント 200 件、どうやって削除するよ?
とりあえず、スパムコメントを書き込んだユーザのアカウントは削除したものの、残ったスパムコメントをどうやって削除しようか悩んでいる所。ひとつひとつ手で削除するのもスパマーに負けた気がするし…。
とりあえず、XOOPS の管理画面でコメントスパムを一括削除する方法が見当たらなかったので、データベースを直接触ってスパムコメントを削除しようとウェブを検索してみた所、[Nucleus:phpMyAdminでコメントスパムを一括削除](http://www.res-system.com/item/482) なる記事を発見したので、SQL を使って直接削除する事にしました。情報ありがとうございます。
## SQL を使ってスパムコメントを一括削除する
XOOPS に書き込まれたコメントは、管理画面の [ システム管理 ] – [ コメント・マネジャー ] で一覧を見る事ができるので、ここでスパムコメントの件数を確認。
それから、コメントはデータベースの xoops_xoopscomments の中の com_ip と言う所に格納されているみたい。次に、スパムコメントの書き込まれたマシン ( サーバ? ) の IP は同じっぽいので、コイツをキーにして削除します。
DELETE FROM xoops_xoopscomments WHERE com_ip like ‘***.***.***.***’
こんな感じです。うーんスッキリ。直接、データベースを操作するので、必ずバックアップしておく事。
## コメントスパム対策の案
再発防止の為に何かしらの対策を考える。
– コメントスパム対策のプラグインを導入する。 そんなプラグインが在るのかな? 禁止ワード等はどうだろう? 1 バイトのみのコメントは不可にしようか?
– 全てのコメントをモニタする?メールでの通知?
まだまだ考え中。