さくらレンタルサーバに構築した trac サイトのコメントスパムを削除する
trac サイトを構築した時のメモ の続き。
以前構築した 別館 のチケットにコメントスパムが投稿されているのに気付いた。本人ですらたまにしか見ないのに。恐るべしスパマー。
今のところ trac にチケットのコメントを削除する方法は用意されていないが、見た目に宜しくないのでsqlite を使って削除した。
そのときの手順をメモしておく。
sqlite
とりあえず sqlite をインストールしないと話にならないのでインストール。
%wget http://sqlite.org/sqlite-3.3.7.tar.gz %tar xzvf sqlite-3.3.7.tar.gz %cd sqlite-3.3.7 %./configure --prefix=$HOME/local %make %make install
trac.db を修正
http://trac.edgewall.org/ticket/454 を参考にSQLを投げるだけ。
まずはさくらに接続して、$repo/db/trac.db を開く。
sqlite3 trac.db
すると sqlite3 がコマンドを待つので、
SELECT * FROM ticket_change WHERE ticket=3
と入力する。(最後の数字は[修正したいチケット番号]に変更する)
すると以下のようにチケットの修正一覧が表示される。
3|1154847902|goodspeed|status|new|closed 3|1158265726|Brendan|comment||Some links for you・・・
この中からスパムによって修正されたレコードを探して、そのレコードの2列目の数字(この場合は[1158265726])を使ってDELETE文を投げる。
DELETE FROM ticket_change WHERE ticket=3 and time=1158265726
sqlite は .quit で終了する。