Movable Type 3.31-ja の重複トラックバック処理について
当サイトで配布中の duplicateTBPingfilter が Movable Type 3.31 に適用可能かどうか、トラックバック処理を調べてみました。
lib/MT/App/Trackback.pm のトラックバック受信処理を見ると、
sub ping {
:
(略)
:
my $ping;
# Check for duplicates...
my @pings = MT::TBPing->load({ tb_id => $tb->id });
foreach (@pings) {
if ($_->source_url eq $url) {
return $app->_response() if $_->is_junk;
if ($app->remote_ip eq $_->ip) {
$ping = $_;
last;
} else {
# return success to quiet this pinger
return $app->_response();
}
}
}
if (!$ping) {
$ping ||= MT::TBPing->new;
$ping->blog_id($tb->blog_id);
$ping->tb_id($tb_id);
$ping->source_url($url);
$ping->ip($app->remote_ip || '');
$ping->junk_status(0);
$ping->visible(1);
}
:
(略)
:
というコードが新たに追加されており、送信元URLが同一のトラックバックについては、受信済の同一URLのトラックバックデータに上書きしています。
例えば、自ブログのあるエントリーで
- タイトル:今日は暑かった
- 概要:東京都心は36.1度と今年最高を記録しました。
- 送信元URL:http://hogehoge/2006/07/post.html
というトラックバックを受信済の状態で、
- タイトル:今年最高気温
- 概要:静岡県浜松市で38.4度を観測しました。
- 送信元URL:http://hogehoge/2006/07/post.html
というトラックバックを新たに受信すると、先のトラックバックは後のトラックバックの内容で上書きされます。そして最初のトラックバックのタイトルと概要は
- タイトル:今年最高気温
- 概要:静岡県浜松市で38.4度を観測しました。
という内容に置き代わります。内容の相違に関わらず、送信元URLが同一であれば一律上書きを行い、トラックバック処理を続行します。
duplicateTBPingfilter は受信済のトラックバックと新たに受信したトラックバックを比較して重複を判断していますが、Movable Type で旧トラックバックに上書きしてしまうため、比較自体ができなくなり、つまり 3.3 以降は不要となります。アップグレードによって登録されたままの場合でも特に問題ありませんが、トラックバック検索処理が動作するため、外しておくことを推奨します。
Posted by yujiro このページの先頭に戻る
- トラックバック表示方法変更&テンプレート修正
- Trackbackの連続投稿を受け付けない方法
- トラックバックのタイムアウトについて
- Trackback元記事表示
- Movable TypeでTrackback文字化けを対処する方法
トラックバックURL
トラックバック
≫ 「重複トラックバック防止プラグイン」を導入(MT3.2以前) from Project MultiBurst
以前から導入したかった、「重複トラックバック防止プラグイン」を入れてみました。 プラグイン提供元は、本ブログのテンプレート元でもある、小粋空間さんから拝借... [続きを読む]
Tracked on July 16, 2006 7:51 AM
コメントする
greeting