21
May
May
XOOPSのスパムコメントをphpMyadminで削除する
[ phpMyadmin : xoops : スパム ]
XOOPSで運用しているサイトのコメントスパムが異常にあり、管理者IDで一個ずつ削除するにも、途方にくれるような作業なので、phpMyadmin で一気に削除するメモです。
05年頃にリリースしたサイトでXOOPSをつかって、コミュニティーサイトを運営していたのですが、一年以上は見てもいない状態だったのですが、先日見てみるとスパムの温床となっていました。一日におそらく、2−300件くらいのスパムコメントが投稿されていて、かなりヤバい状態。いっその事、普通の書き込みも全部削除してやろうかと思いましたが、やっぱりせっかく投稿してくれた人もいたりするので、削除する方法を検討しました。
管理者IDでXOOPSにログインしてからも削除することはできるのだが、数が多過ぎて、ちょっと現実的じゃなかったので、phpMyAdminを使って、まとめて削除することにしてみました。
削除の方法まずは、phpMyAdminでそれらしきテーブル?を探してみる
と、"xoops_bb_topics" というのがあるようです。これをクリックするとなにやら、データベースの項目らしきものが表示されますが、これはそのままスルーしつつ。
表示をクリック
スレッド(トピック)の一覧を表示させます
スパムだと思われる、スレッド()を削除することができます。この"キーでソート"でトピックの表示順をソートする事ができるので、適当にソートしてスパムスレッドを見つけやすくしておきましょう。表示件数も設定できるので、スパムが多いときはこの辺も多めにしておくと便利。ただし、自分の場合は1000件のスレッドを一気に削除したら、反応がなくなってしまったので、500件くらいを目処にした方がいいかも。
スレッドを削除するにはXアイコンをクリック
一通りスパムスレッドを選んだら、削除アイコンをクリックして削除する。
スレッド削除の確認
スレッドないの各コメントは"xoops_posts"で削除
最近半年以内に投稿されたスレッドやコメントはほとんどスパムだと言っていい状態だったので、自分の場合はスレッドごと削除するほうが効率的だったのですが、削除したくない非スパムスレッドのなかのスパム投稿を削除するには、左のメニューから"xoops_posts"を選択して同じようにすすめば、削除できるようです。ちなみ、自分の環境では、削除するのに500件で50秒くらいかかりました。
スパムコメントを閉め出す方法として、すぐに出来そうだったのが、XOOPSのユーザー設定でゲストユーザーが投稿できないようにするやりかた。スパムコメントのほとんど(あまりにも数が多過ぎて全部見るのはあきらめました。。)がゲスト投稿だったので、これでも一応有効かなと。それだけではまだ不十分なようなので、コメントスパムを撃退するプラグインの導入を検討。
XOOPSのスパム対策のプラグイン。
XOOPS2.0にも対応可能なようです。





コメントする