Trackback SPAMがやってきた

最近トラックバックスパムがめちゃくちゃ来まくっています。最終的にはコメントスパムのときと同じようにソースを改変(うちはこんなやり方をしています、効果絶大)することによって解決をはかりたいと思っていますが、なかなかよいアイデアが思いつきません。とりあえず巷にはコメントと同じように、連続投稿を禁止するパッチはあるようなのでそれをしましたが、それだけでは納得がいかないので、一時的にmt-tb.cgiを使えない状態にしました。従って現在Trackback、ならびにTrackbackされたURLへ飛ぶことが出来なくなっています。ご不便をおかけします。(→2/13、対策を施し復活させました。)
何かよい方法をご存知でしたらご一報ください(そろそろベイジアンフィルタも検討しますか!?)。

このトラックバックスパムというのは今回がはじめてきたのですが、どうやらコメントスパムと同じ系統のようですね。問題のスパムのタイトルは『online casino』やらで、これは今まできたことのあるコメントスパムのタイトルと一致します。1時間に200回近くTrackback pingしてきました。Trackbackを受信するごとにリビルドする関係上、スパムというよりかDoS攻撃のような感じです。かなり頭にきています…。

とりあえず、コメントスパムと違ってトラックバックスパムはMovable Typeの管理画面から直接的に消すことができないので大変ですがデータベースをいじれば簡単に大量に消すことが可能です(データベースを直にいじることは危険をともないます、自信がない場合はお勧めできませんし、またここに書いてある方法を行うことも自己責任で願います)。
うちはデータベースにPostgreSQLを使用しているのですが、その場合はPostgresの会話型UIのpsqlを用いて以下のように操作をすることで消すことが出来ます。以下、mt.cfgで指定したデータベース名がmtDB、データベースアカウント名がmtdbuserだとして説明します。

$ psql -d mtDB -U mtdbuser
(ログイン、以下mtDBではじまる行が入力行です)
mtDB=> ¥dt
# データベースのテーブル一覧が表示される、その中のmt_tbpingにトラックバックされた情報が詰まっている
mtDB=> SELECT * FROM mt_tbping;
# これでトラックバックされた情報の一覧をみることができる
mtDB=> DELETE FROM mt_tbping WHERE tbping_id = 100;
# 例えばIDが100のトラックバックを消してみる、IDとは上のSELECT文で一番左に表示された数字
mtDB=> DELETE FROM mt_tbping WHERE tbping_id >= 101;
# 例2、IDが101以降のトラックバックを消してみる
mtDB=> ¥q
# psqlを終了する

この後管理画面でリビルドをすれば反映されます。

February 03, 2005 20:38 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク

コメント

コメントする