« 05.25 謎の障害… | ココ | 05.27 タッチしてターン »

2007年5月25日

TBスパム対策します  このエントリーを含むはてなブックマーク 

トラックバックスパム、最近は日本語のまでが出てきて、これまでは英語だけなのを注意していればよかったけどそうも行かなくなった。しかも、文字コードがおかしいのか化けてるのまであるし。

もうそんなのはいやだ!!

と思ったので、ついに対策に。しかも、普通のトラックバックが少ないことをいいことにしらみっつぶしに叩きます。


sub ping {
    my $app = shift;
    my $q = $app->{query};
...
# anyway, add the remote ip to .htaccess
    system 'echo "deny from '.$app->remote_ip.'" >> /path/to/mt/.htaccess' if ($app->remote_ip);


    require MT::TBPing;

    return $app->_response(Error =>
      $app->translate("This TrackBack item is disabled."))
      if $tb->is_disabled;

Trackback.pmの上記サブルーチンに太字の行を入れるだけ。
.htaccessにCGIから書き出したらパーミッションの問題であかんのちゃうん…と思ったけど、とりあえずやってみたらうまく644で書き出されてた。

このファイルをMTのテンプレートとして登録しておいて、解除したいIPがあれば編集して消すという方法。トラックバックがたくさん来るサイトでは使いにくいけど、うちみたいなところでは有効かと。テンプレートとして編集が可能な状態にしておくことで、Deny from以外の命令をファイルの先頭に書き足したりすることも簡単。

1回はトラックバックが登録されてしまうけど、何回も送ってくるようなスパムには有効で、それだけ削除する労力(所要時間)が減る。

By ただ at 22:03 カテゴリー ; さんぷるライブラリー , PinMarch Samples , Perl , MT , mein Erbe

« 05.25 謎の障害… | 05月の記事 | 05.27 タッチしてターン »




トラックバック

このエントリーのトラックバックURL:
http://pinmarch.sakura.ne.jp/mt/mt-tb.cgi/961