F.Ko-Jiの「一秒後は未来」

MT3.3で英数記号のトラックバックスパムを拒否する

このブログは英数記号のみのトラックバックは拒否しています。

トラックバックスパムを防止する方法としては、プラグインを使ったりmt-config.cgiの設定値を変更したりする方法があると思いますが、それらだけではこれまでうまく対応できませんでした。

そこで、スパムの大半は概要文が英語であることに注目して、概要文が英数記号のみだったらエラーを返すように lib/MT/App/Trackback.pm を直接修正してみました。エラーを返すのでトラックバックはデータベースに記録されません。

修正箇所はこんな感じ。(行数がずれている可能性もあります。)

$ diff Trackback.pm.20080210 Trackback.pm
219a220,222
>     return $app->_response(Error=> $app->translate("Need a Source URL (url)."))
>         if $excerpt =~ m!^[a-zA-Z0-9\s\.,\!]+$!;
> 

こういう場合のエラーメッセージは適当であるべきなので、適当に前後のコードをコピっています。記号の種類はめんどくさいので最小限に。

もちろん正当なトラックバックの場合でも弾いてしまうことがあると思いますが、あの数分おきにやってくる嵐のようなトラックバックを防止するには、こうするより他ありませんでした。

この対処ですっかり受信するトラックバックが激減したので、うまくいっているのだと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

著者について

fkoji

F.Ko-Ji

Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

» 詳しいプロフィールや運営サービスの一覧など