Hatena::ブログ(Diary)

naoyaのはてなダイアリー

July 03, 2005

Movable Type で言及リンクのない TrackBack ping を弾くプラグイン

TrackBack の送信元に、TrackBack先へのリンクが含まれている方が良いかどうかという議論が巷では盛り上がっているようです。はてなダイアリーでは、TrackBack はつまり言及通知であるという解釈から、リンクが必須という仕様になっています。(おかげで、あまりこの手の話が問題になることは少ないようです。)

その他のサービス、ツールでは特にそういった仕様を盛り込んではいないこともありますし、どっちが良いかという議論に決着を付けるのは難しそうです。が、リンクなしのトラックバックは嫌だなあという人のための手段を、システム的に提供してやりそれをどう使うかは本人に任せる、ということはできるでしょう。

と、いうことで Movable Type でリンクなしトラックバックを受け付けなくするためのプラグイン。mt.cgi で「サイトのURL」に指定した URL が言及元に含まれていなければ弾きます。

http://naoya.dyndns.org/~naoya/lib/mtplugins/mt-ban-norefertb.pl

MTBanASCII: コメントSPAM対策を MT3 に移植: blog.bulknews.netあたりを参考に作ってみました。Movable Type 3.1 あたりから追加された TBPingFilter callback を利用しています。3.121 以降であれば、plugins ディレクトリに放り込むだけで多分動くでしょう。よしなにお使いくださいませ。

追記: このプラグインはひとつ欠点があって、エラーメッセージをもって相手に「リンクしてね」ということを伝えられない点です。現状の Movable Type の仕組みでは TBPing callback のプラグイン内で生成したメッセージを、トラックバック返却時の文字列として渡すことができず、単に 403 Forbidden が返却されるという仕様になっています。

ので、もし利用される方は、ページのどこかに注意書きを書いておくといいかもしれません。

2005年10月1日追記

Six Apart の宮川さんがこのプラグインを改良し、Movable Type 3.2 以上であればより便利に使えるようにしてくれました。Movable Type 3.2 以上をお使いの方はぜひこちらをお試しください。

Junk Filter API を使って記述されているそうです。

ダブリン市民ダブリン市民 2005/07/12 00:22 「言及リンクがないと弾くよプラグイン」ですが、ウチのサーバー(FreeBSD 5.4-STABLE)だとエラーが起きてしまうようです。

MT::Plugin::BanNoReferTb v0.01 died with: Can’t locate object method ”status” via package ”HTTP::Headers” at (eval 31) line 1.

なんででしょ?

ち印ち印 2005/07/12 06:14 このプラグインで直に使ってないとは言え、関連の他のPerlモジュールがPerlモジュール「HTTP::Headers」を使ってて、それがバージョンが古いとか新しすぎるとか……

naoyanaoya 2005/07/12 11:11 CPAN で libwww-perl を update してみてください。

ダブリン市民ダブリン市民 2005/07/13 19:15 portsからp5-libwww-5.803を入れてあるんですが、CPANの最新も同じようです。 一度アンインストールして、入れ直したのですがダメでした。 うーむ。

naoyanaoya 2005/07/13 19:31 perl が同じサーバに2つ入ってたりしませんか? あと、MT に付属の外部モジュールを使ってるとしたらその中も怪しい。

ad hoc な対応としては status メソッドを使ってる場所を使わないように hack してしまうという手があります。

ダブリン市民ダブリン市民 2005/07/14 20:36 MT3.17にしたら、なぜかエラーが出なくなりました。 ちゃんと言及リンクなしTBを弾いてくれています。
ありがとうございました。

ゑ 2005/09/20 19:40 実は同じようなプラグインを作ってます。

http://yebisuya.dip.jp/yeblog/archives/a000527.html

やってることはほぼ一緒ですね。

あまやんあまやん 2005/09/20 22:02 はじめまして。ここ最近20通/日くらいの割合で来てたtbspamがおかげさまでピタリと止みました。おかげで肌荒れも止みそうです。ありがとうございます!!

XAXXAX 2007/06/10 09:48 MT 4.0 Beta 1にしたところ,動かなくなってしまったようです
幸い,ゑさんのプラグインは問題ないようなのでそちらを利用させてもらってますが

トラックバック - http://d.hatena.ne.jp/naoya/20050703/1120389935