« WMVのライセンス | メイン | メニューを作った »
2005年09月22日
このHPについて雑記:: トラックバックスパム対策
Tweet @jin1016をフォローここ数日トラックバックスパムの件数が少なかったので、着たら削除してIPを禁止にってしていたけど、今日見たら19件ぐらい溜まっていたので対策をとることにした。
対策用のソースコードは既に書いていたので、それを該当する部分に入れてアップロード。
他の場所からトラックバックのテストをして見た所、問題なくトラックバック出来た。
これで、しばらくトラックバックスパムがなくなるといいが……
変更箇所は、lib/MT/App/Trackback.pmの234行目付近、return $app->_response(Error=> $app->translate("Need a Source URL (url).")) unless $url;とある直ぐ下に次のようなコードを追加した。
{
$url =~ /http\:\/\/([^\/]+)/;
my $response_domain = $1;
my %spammer_url = (
"www.bloomberg.com" => 1,
"www.ematrix.ru" => 1,
"www.gelmut.ru" => 1,
"www.dostavka.ru" => 1,
"www.syllable.org" => 1,
"www.megashop.ru" => 1,
"wdb1.sco.com" => 1,
);
if( defined( $spammer_url{$response_domain} ) ) {
return $app->_response(Error=> $app->translate("Spam URL."));
}
}
上の処理は、トラックバックピングのurl部分にハッシュに含まれるURLがある場合はスパムとみなしてエラーにしている。
スパムが他のURLを指定するようになった場合は、ハッシュにURLを追加する。
ハッシュにしたのは、URLの数が増える可能性があるから。
ファイルを分離するか、DBにリストを保存した方がいいんだろうけど、面倒なので直に入れた。
これで最近悩まされているトラックバックはなくなるはず。
投稿者 Takenori : 2005年09月22日 15:10
comments powered by Disqus