Movable Type 備忘録
スパム・トラックバック対策3
- Next Page: ATOMフィード・テンプレートの不具合
- Prev Page: 「503 Service Temporarily Unavailable」について
ご無沙汰しております。
ここ最近ずっとスパムに対応するため、いろいろネットを徘徊しているわけですが、とりあえずまともに記事投稿もできるようになったので、わたしが対応したスパム対策をチョビッとご紹介します。
Open MagicVox.netさんのところで、JavaScriptを使ってスパムによるCGIの過負荷を防ぐ という、今まさに渦中の人である、わたしにピッタリな、興味ある記事が紹介されてました。
Open MagicVox.netさんの記事を参考に、以下のようなトラックバック・スパム対策を行ってみました。
- mt-tb.cgiをリネームする
前回のスパム対策スパム・トラックバック対策2を元に、mt-tb.cgiをリネームしました。 わたしのサイトでは、こちらの複数のブログ、テンプレートを選択して再構築するによるマルチなブログ運用を行っているため、影響範囲が広いので、定期的なリネームというのはやめています。
- JSによりトラックバックURLを隠蔽する
以下のようにしてトラックバックURLを隠蔽してみました。
変更前 <p>TrackBack URL for this entry: <input id="trackback-url" type="text" readonly="readonly" value="<$MTEntryTrackbackLink$>" onfocus="this.select()" /></p> 変更後 <p>TrackBack URL for this entry: <input id="trackback-url" type="text" readonly="readonly" value="-" onfocus="this.select()" /></p> <script>document.getElementById('trackback-url').value = ["<$MTCGIPath$>", "<$MTTrackbackScript$>", "/<$MTEntryTrackbackID$>"].join("");</script>青い字の部分にはトラックバックURLを記述せず、赤い字の部分でJSによってブラウザから閲覧した人には正しいトラックバックURLが見えるよう対応しています。
デメリットとしては、JSが有効になっていることが前提となります。 ですので、JSを無効にしている人にはトラックバックURLが見えません。
上記2点により、スパムによる不必要なmt-tb.cgiが実行されなくなったことで、MovableType(ムーバブルタイプ)の動作(サーバのレスポンス)が軽くなりました。
わたしのサイトでご紹介してきたトラックバック・スパム対策は、スパムを弾くという意味ではどれも満足のいくものでしたが、結局はCGIが実行されてしまうことでサーバに負荷がかかっていたようです。
でも、そのCGIをなくしたこと(mt-tb.cgiをリネーム)、さらにスパムボットによるトラックバックURLの収集を困難にしたことで、今はかなり安定しています。
対策前までは、テンプレートの再構築はもちろんのこと、記事投稿でさえエラーしてしまって、いい加減うんざりしてたので、このサイト放棄しようかなとも思ってましたが、とりえあず、なんとかなりそうなのでこれで少し様子をみます。
この度は、大変ご迷惑をおかけしたことと思いますが、落ち着いたらまたいろんなカスタマイズなどTRYしていこうと思ってますので、今後ともよろしくお願い致します。
oscarさんのところで日本以外からのアクセスを禁止するという方法も紹介されています。ご参考までに。
Trackback Pings(1)
- from
Bluehawk's lab.
『MovableTypeのスパム対策等』 こんな辺境のブログでもコメントスパムとか、トラックバックスパムが大量にやってくるようになりました。というか結構な...
Comments(10)
- #2: Posted by bzbell [RES]
>>1 TAEKO さん
はじめまして^^
> プログラムやロボットはここを読んでトラックバックを送っているみたいです。スパマーが収集しているのもbzbellさんが対策された部分ではなく、トラバ自動送信用のrdf内の情報だと思われます。
Σ( ̄Д ̄;)ガーン!!
やっぱりそれを拾ってるんですの!!
わたしもソースみて、URL記述されてるけど大丈夫なのかなぁ・・・と思いつつ、とりあえずやってみたんです(つω-`。)> ちなみに私のところではさっさと削除してしまっています。トラバ自動送信機能よりもスパムによるサーバー負荷の方が問題だという判断で(^^;。
わたしも同感です!!
こんなにスパムによる影響がでかいなんて思ってもみなかったのですが、今ではそんな昨日よりサーバ負荷の方が問題ですよねっ!!ありがとうございます。
さっそくサックリと削除するですの♪
- #3: Posted by oscar [RES]
あぁ~、消しちゃったんですね。
サーバー負荷と秤にかけりゃ、そうなっちゃいますよね。今まではエントリー書く時に、bzbellさんのサイトの引用すれば、自動でMTがトラバしてくれてたんですが、これからは手動で入力しなくては。
- #4: Posted by bzbell [RES]
>>3 oscar さん
こんにちわ^^
> 今まではエントリー書く時に、bzbellさんのサイトの引用すれば、自動でMTがトラバしてくれてたんですが、これからは手動で入力しなくては。
えーーーーっ∑( ̄□ ̄;)!!
MTが自動でトラバしてくれるんですかっ!!
わたしのMTではそんな気の利いたことしてくれませんよ( ̄ε ̄;)つか、わたし何か勘違いしているかもしれないのでお聞きしたいのですが、oscarさんが言われてることって、
- oscarさんのところで、わたしの記事の引用( blockquoteタグ!? )すると、自動的にわたしのエントリにトラバするんですか?!
- わたしが<$MTEntryTrackbackData$>を削除したことで、oscarさんは手動でわたしのエントリにトラバしなくてはならなくなった!?
ちなみに、わたしいつも関連するエントリ編集ページ開いて、相手先のトラバURLコピペして保存するとトラバされてますけど・・・そのことでしょうか。
実はわたし「トラバ自動送信機能」という存在をついさっきまで知りませんでした(; ̄∇ ̄A
何それ!? と思って調べたところ、「トラックバックを送った先を忘れてしまうので、自動的にリンクする」という機能のことですよね!?
こちらの記事を参照しました。ふ~ん、どっかでトラバ先が保存されてるんだ・・・確かに忘れちゃうもんね♪程度にしか思ってなかったんですけど。
わたしだけが不便!? になるだけなのかと思ってましたけど、何か激しく勘違いしてる匂いがします(; ̄∇ ̄A
- #5: Posted by oscar [RES]
そそ、ブログ設定の「新規投稿の設定」にある「トラックバック自動検知」にチェック入れとけば、エントリー内のリンク調べて、リンク先トラックバック先情報を拾ってきて自分でトラバ送ってくれますよ。
使ってなかったんですか?てっきりみんな使ってるものだと思ってた。「トラックバックを送った先を忘れてしまうので、自動的にリンクする」は違います。別な機能ですし、そもそもMTの話じゃないです。
例えば、チェック入れておいた状態で、エントリー内に、例えば私の所のエントリーへのリンクを書いて、下書き保存してみると、自動的にトラックバック送信の所に、トラックバックアドレスが入力されます。
だから、あまりトラバを意識して送ったことってないんですよ。時々送んなくてもいいのに送っちゃうときもありますけどね。
bzbellさんの所は、サイトの方針覚えたので手入力(コピペ)するようにします。
- #6: Posted by bzbell [RES]
>>5 oscar さん
> 例えば、チェック入れておいた状態で、エントリー内に、例えば私の所のエントリーへのリンクを書いて、下書き保存してみると、自動的にトラックバック送信の所に、トラックバックアドレスが入力されます。
あぁ~あれのことでしたか(; ̄∇ ̄A
確かにわたし使ってません。MT使い始めた頃は有効にしてたんですけど、自分のサイト内のエントリに対してトラバされたので、てっきりそういう機能なのかと思って外しちゃいました(>∀< )あは
そっかぁ・・・そういう機能だったのか( ´・ω・`)
> 「トラックバックを送った先を忘れてしまうので、自動的にリンクする」は違います。別な機能ですし、そもそもMTの話じゃないです。
はは(; ̄∇ ̄A
oscarさんに聞かなかったらたぶんずっとそう信じてたと思います。> だから、あまりトラバを意識して送ったことってないんですよ。時々送んなくてもいいのに送っちゃうときもありますけどね。
へぇ~MT使ってるみなさん、その機能使ってるんですかね。
わたし手入力がデフォかと思ってました(; ̄∇ ̄A> bzbellさんの所は、サイトの方針覚えたので手入力(コピペ)するようにします。
ありがとうございます。
お手数おかけしてすいません(つω-`。)
- #7: Posted by TAEKO [RES]
先ほどは説明不足ですみませんでした。
oscarさんの説明にある「リンク先トラックバック先情報」を調べるのに使われるのが<$MTEntryTrackbackData$>で書き出されるrdf情報です。ただ、この機能、オンにすると記事修正でも勝手にトラバが送られてしまうんです。
記事修正をひんぱんに行うので、気が付いたら重複トラックバックの嵐になってたりしてかえって不便(というか、先方に迷惑…)なので、私は使っていません(^^;。>oscarさん
お手を煩わすことになってしまってすみませんでした。
私の方ではこの機能を使っている人はほとんどいないという認識でいたのですが、oscarさんは使われていたんですね。
- #8: Posted by bzbell [RES]
>>7 TAEKO さん
こんにちわ^^
先ほどはありがとうございます。
TAEKO さんの指示を受けるまで、気づきつつも自信がなかったので放置してたのですが、危なくまた餌食になるとこでした(; ̄∇ ̄A
> ただ、この機能、オンにすると記事修正でも勝手にトラバが送られてしまうんです。
あっ!! それでかなぁ。
MT使い始めの頃重複トラバが多々あって、相手に迷惑かけてたんですの(つω-`。)わたしも記事修正は多いので、知らずとはいえ、結果的には無効にしておいて良かったわけですね(; ̄∇ ̄A
先ほど、TAEKO さんに遊びに行きました。
ダイナミック・パブリッシングされてるそうで♪1度は興味を持ったのですが、プラグインなどが使えない・・・ということで断念したのですが、TAEKO さんの記事読んでなるほどぉ!! と納得させられたですの( ̄∇ ̄)b
すべてのプラグインで有効かどうかはともかく、わたしも今度TRYしてみようと思ってます。
その際には、TAEKO さんサイトにお世話になると思います。
- #9: Posted by hiroski [RES]
Botによるトラックバック・スパムの来襲に悩んでこのサイトに辿り着きました。
ここの内容を参考に対策し、2週間は安らぎを得たのですが再び来襲を受けました。
<$MTEntryTrackbackData$>が残っているのかなと思いチェックするも残っておらず、インラインのJavascriptを少し書き直してもやってきます。
Botは抜粋にnewsとだけで薬サイトへリンクしてます。.cgiを狙われているような気がしてきたので、インラインのJavascriptを外部ファイル化したところ、今のところ来襲が止んでいます。
こちらではいかがでしょうか。
- #10: Posted by bzbell [RES]
>>9 hiroski さん
こんにちわ^^
このカスタマイズやって以降、わたしの方ではしばらくスパムの被害にあってないです (; ̄∇ ̄A
平穏無事な毎日です。> Botは抜粋にnewsとだけで薬サイトへリンクしてます。
それってピンポイントで狙われてる・・・ということですか Σ( ̄Д ̄;)!?
プログラム(Bot)が普通の記事、news記事!? を判別してるってことですよね!?今後、もし来襲されるようでしたら、わたしもトラックバックURL/一覧をすべて外部ファイル化します。


初めまして。
カスタマイズの参考に時々拝見させていただいてます。
ソースからトラックバックURLを隠すのが目的でしたら、この対策だけでは不十分だと思います。
テンプレートに<$MTEntryTrackbackData$>というタグがあると思いますが、これが書き出すrdf:Description内にtrackback:pingという項目がありまして、そこにトラックバックURLがばっちり書き出されています(ソースでご確認下さい)。
これはリンクを張った時、自動でトラックバックを送る機能に対応するためのもので、プログラムやロボットはここを読んでトラックバックを送っているみたいです。スパマーが収集しているのもbzbellさんが対策された部分ではなく、トラバ自動送信用のrdf内の情報だと思われます。
ですので、スパム対策には<$MTEntryTrackbackData$>を削除するのが一番簡単で確実な方法だと思います。ただしトラックバック自動送信機能が動かなくなるというデメリットがありますので、それを考慮された上で対策されるとよいと思います。
ちなみに私のところではさっさと削除してしまっています。トラバ自動送信機能よりもスパムによるサーバー負荷の方が問題だという判断で(^^;。