こちらとこちらでリネーム及び文字参照によるトラバスパム対策をしていたのですが、もっと簡単な方法があったようです。
spam TrackBack対策ならTrackBack auto-discoveryを消すに限る
私もこれまでに検索した情報から、<$MTEntryTrackbackData$>で書き出されるtrackback:pingに記述されているトラバURLがスパマーの収集ターゲットになっているらしいことは分かっていたので、全テンプレから、<$MTEntryTrackbackData$>はとっとと削除していました。
おかげでそれ以来うちのMTはトラバスパムとは縁のない生活になり、快適に過ごしているのですが、上のサイトを見て気付いたことがあります。実はトラバURLをリネームした後、必ずしもmt-config.cgiへTrackbackScriptを追加記述する必要はなかったようなのです。
mt-config.cgiで設定したトラバcgi名が、<$MTEntryTrackbackLink$>と<$MTEntryTrackbackData$>が書き出すトラバURLで使われていたわけなのですね。だから<$MTEntryTrackbackLink$>と<$MTEntryTrackbackData$>
は使わずに手動でテンプレにトラバURLを記述していた場合は、mt-config.cgiでトラバcgi名を設定しなくても用は足りていたわけです。なので、mt-config.cgiには手を触れず、単純にmt-tb.cgiをリネームするだけでよかったみたいです。
そうすれば<$MTEntryTrackbackData$>の存在に気付いてない場合でも、実際のトラバURL(リネームされたもの)と<$MTEntryTrackbackData$>が書き出すトラバURL(デフォルト値のmt-tb.cgi)が異なるので、結果としてスパマーにはダミーを教えることになり、実際のトラバURLは守られる、ということになるようです。
そこをなまじリネームの度にmt-config.cgiを直したりすると、変更後のURLを(自分で知らずに)スパマーに教え続けることになるので、リネームしてもリネームしてもスパマーが来るよー、どうしてかなーということになるのだろうと思われます…。
ということで、これからトラバスパム対策をされる方は以下のようにされるといいかと。
1.トラックバックcgiをリネームする
サーバー上でmt-tb.cgiを are.cgi など、適当な名前にリネームします。なるべく推測されにくい名前にするとなお良いかと。
2.<$MTEntryTrackbackLink$>を書き換える
ここではare.cgiという名前にリネームしたものとします。エントリーアーカイブから以下のタグを探し出して、
<$MTEntryTrackbackLink$>
↓以下のように書き換えます↓
<$MTCGIPath$>are.cgi/<$MTEntryTrackbackID$>
are.cgiのところだけ手書きにするのがミソです(ここを<$MTTrackbackScript$>にするとmt-config.cgiで設定されたトラバURLが入ってしまいますので)。
●更に念を押したい場合
案A:are.cgiを文字参照にしてロボットに解読しにくくする。
<$MTCGIPath$>are.cgi/
<$MTEntryTrackbackID$>
案B:スパムメール対策のように一部を伏字等にしてユーザーに手動で変えてもらう。
★の部分を r に変えて送信して下さい。
<$MTCGIPath$>a★e.cgi/<$MTEntryTrackbackID$>
案C:javascriptでソース上からトラバURLを隠蔽する
javascriptは無効の環境では見えないという弱点がありますが、スパマーの攻撃具合によっては「もうそんなことは言ってられない!」というケースもあると思います。ここでは詳しくは書きませんが、こことかここあたりにヒントがあるかもしれません。ピン!ときた方はトライしてみて下さい。
この他にもいろいろ考えられるので試してみて下さい。
3.<$MTEntryTrackbackData$>を削除する
トラバ欄とrdf:Description内のトラバURLが違うと正しいユーザーにも紛らわしくて迷惑なので(というか、あってもエラーになるだけで役にたちませんし)、これも削除しておきます。これは全テンプレートに入ってますので探し出して漏れのないように。
*補足:<$MTEntryTrackbackData$>を削除するデメリットに関する参考リンク
nlog(n) 迷惑トラックバックを減らす方法
うちでは参考リンク先のデメリットを承知した上で削除することを選択しています。
<2006.12.7 補足を追記>
<2006.12.8 一部の文章が分かりにくかったのを修正^^;>
<2006.12.18 案Cを追加>