コメントスパムは 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: コメントスパムがうざいので