asciiTBPingfilter プラグイン
ASCII 文字のみのトラックバックをフィルタリングする Movable Type プラグインを作りました。
1.プラグインの概要
Mobavle Type では 3.2 以降、Junk Filter を利用して、スパムとみなされたトラックバックは Junk フォルダに入るようになっています。また誤ってフィルタリングしたトラックバックを探索・公開できるよう、指定した一定期間、保存できる仕組みになっています。
その流れに逆行して、このプラグインはASCII文字のみのトラックバックを受信した場合、Junk フォルダにも入れず、送信元に 403 を返却します。
本プラグインは下記の CommentFilter コールバックのプラグインのアイデアを元に、TBPingThrottleFilter コールバック に移植させて頂いたものです。
blog.bulknews.net:MTBanASCII: コメントSPAM対策を MT3 に移植
上記のプラグインは 3.2 対応の Junk Filter を利用したものも配布されていますので、トラックバックスパムと判断されたものを Junk フォルダに入れる場合は、下記のプラグインをご利用になることをお勧めします。
blog.bulknews.net:MT BanASCII 3.2 対応
Junk Filter API では Junk フォルダに入れない方法が存在しないと思い込んで TBPingThrottleFilter コールバックを利用しましたが、勘違いでしたらご指摘ください。
2.プラグインを作った理由
概ね下記のような理由です。
- 毎日大量のトラックバックスパムが Junk フォルダに入るが、その中に公開すべきトラックバックが時々紛れており、見つけるのに結構手間がかかる
- サーバの負荷をできるだけ軽減したい
1.の補足として、頻繁に迷惑トラックバックリストをチェックする訳ではないので、削除日数をやや長めにしており、それが逆にトラックバックスパムを山積みにする原因を引き起こしています。
現在1週間ほど使用していますが、Junk フォルダに入る ASCII 文字のみの迷惑トラックバックは0件。またスパムと誤認識された日本語を含むトラックバックだけが Junk フォルダに入っており、作業効率が格段に向上しました。
3.動作条件
Perl 5.8 以上であることが必要です(Encode.pm を利用するため)。誤って 5.6.x の環境で利用しても処理異常にならないようにしています。
4.ダウンロード・インストール
下記リンクより asciiTBPingfilter.zip または asciiTBPingfilter.lzh をダウンロードし、アーカイブを解凍してください。
asciiTBPingfilter.zip(MT4.x用)
asciiTBPingfilter.lzh(MT4.x用)
asciiTBPingfilter.zip(MT3.x用)
asciiTBPingfilter.lzh(MT3.x用)
解凍すると中に asciiTBPingfilter フォルダがありますので、フォルダごと Movable Type の plugins ディレクトリにアップロードしてください(下記は MT3.x 版の例)。
- MTディレクトリ/plugins/asciiTBPingfilter/asciiTBPingfilter.pl
- MTディレクトリ/plugins/asciiTBPingfilter/tmpl/config.tmpl
MT4 版の場合、ブログ別管理画面の [設定]→[プラグイン] で、ASCII Trackback Ping Filter Plugin 2.x が表示されていればOKです。インストール直後から動作が有効になります。
MT3 版の場合、管理画面のメイン・メニューの「利用可能なプラグインの設定」に「ASCII Trackback Ping Filter Plugin ?」が表示されればOKです。デフォルトではプラグインは無効になっています。有効にするには、ブログ別管理メニューの[設定]→[プラグイン]→[ASCII Trackback Ping Filter Plugin]の右側にある「設定を表示」をクリックして、左に表示されたチェックボックスをチェックし、「変更を保存」をクリックしてください。
5.フィルタリングの状況を把握したい場合
MT4.x 版はプラグイン管理画面より設定できます(下記)。
MT3.x版は、asciiTBPingfilter.pl を任意のエディタで開き、
# logging
our $log = 0;
の "0" を "1" に変更してアップロードすれば、ASCII文字のみのトラックバックを受信した時に
Filter ascii trackback ping. URL:http://hogehoge IP:xxx.xxx.xxx.xxx
という内容がシステムメニューのログに出力されます(ブログ別のログには出力されません)。
ログはプラグインの動作確認用です。スパムによってログが大量に出力される可能性がありますので、確認後はOFFにしてください。
2007.09.14
MT4対応を追加しました。