トラックバックスパム対策(MT向け)

コメントスパムは 1バイトコメントを ban する対策を講じたところで安心していたのですが、この数日で突然トラックバックスパムの嵐にやられました。

なんだか腹たってきたのでコメントスパムと同様 1バイト文字のみで構成されるトラックバックは ban。(差別っぽいけど)ついでにブラックリストに含まれる場合も ban ということで修正してみた。

MovableType バージョン 2.661 ベースですが <MTインストールディレクトリ>/lib/MT/App/Trackback.pm の ping メソッド内 171行目辺りに以下のコード追加。

    # BEGIN トラックバックスパム対策
    use FileHandle;
    my %banned_url;
    my $blacklist = "/path/to/mt/blacklist";
    my $fh = FileHandle->new($blacklist) or die "$blacklist: $!";
    while (<$fh>) {
        chomp;
        $banned_url{$_} = 1;
    }
 
    if ($url ne '' and $banned_url{$url}) {
        return $app->_response(Error => 'Banned.');
    }
    # END トラックバックスパム対策
  
    # BEGIN トラックバックスパム対策2
    my $text = $title . $excerpt;
    if ($text =~ /^[\x00-\x7f]+$/) {
        return $app->_response(Error => 'Banned.');
    }
    # END トラックバックスパム対策2

いずれの対策もコメントスパム対策時に頂いたものを微修正しました。

MT コメントSPAM対策: blog.bulknews.net
Ceekz Logs: コメントスパムがうざいので

コメントする

aws+ logo

About Me

フリーランスで、テクニカルディレクターたまにプログラマーをやっている後藤和貴(ごとうかずたか)です。

最近はAWSなどクラウドコンピューティングに興味あり。導入支援サービスAWS+はじめました

自己紹介的なものはまだ書いてないので、ひとまずこちら

連絡先は kaz.goto[at]gmail.com。

最近のブログ記事

閉じる