Semantic Web – WordPress

トラックバック(TrackBack) URL を GD と ID タグで作成する

leave a comment »

個別エントリー・アーカイブのテンプレート (デフォルト)では、
トラックバックURL は タグ <$MTEntryTrackbackLink$> により表示されます。
ブラウザで個別エントリー・ファイルのソースを見ると、たとえば、
     http:⁄⁄www.example.com⁄mt⁄mt-tb.cgi⁄89
となりますので、当然 Google ハッキングなどによる無差別・大量 TrackBack ping を受けるリスクがあります。
Xrea.com さんのサーバーは Linux系ですので、GDグラフィックライブラリーを使った画像生成用の関数がデフォルトでインストールされています(php文を使うと、文字列から画像を作成しブラウザに表示できます)。
もし、GD のインストール、表示パターンが不明であれば、下記の編集を行う前に、
     http://medqa.net/update2003/gfxchek.html
をご覧下さい。
modules.php をクリックすると、Security Code:と同じ画像が表示されます。
注) Unix系サーバ・OSでは、GDなどの拡張ライブラリーを手動でインストールする必要があります。
URL文字 http:⁄⁄www.example.com⁄mt⁄mt-tb.cgi⁄ をGDライブラリーで画像に変換します。サンプルのPHP文では、JPEG画像を生成します。
新規インデックス・テンプレート 例) gfx.php として保存します。背景画像は、グラフィックツールで作成しアップロードします。

<?php
Header("Content-type: image⁄jpeg");
⁄*  Header("Content-type: image⁄png"); *⁄
$code = "http:⁄⁄www.example.com⁄mt⁄mt-tb.cgi⁄";
$image = ImageCreateFromJPEG(".⁄background.jpg");
$text_color = ImageColorAllocate($image, 80, 80, 80);
ImageString ($image, 5, 15, 5, $code, $text_color);
ImageJPEG($image, '', 75);
ImageDestroy($image);
die();
break;
?>

背景画像 (例: background.jpg) の上に文字 (例: URLを $code 入力) を配置し、文字のサイズ, 文字の位置 X座標, Y座標 や 文字の色 R,G,B, などを関数で指定します。
サンプルは jpeg画像となりますが、Headerなどを変更すると、png 画像が出力されます。
多くの参考ページ
     http://hotwired.goo.ne.jp/webmonkey/2001/36/index4a.html
があります。
個別アーカイブ・テンプレートのタグ <$MTEntryTrackbackLink$> を、
(例)
     <img src="..⁄gfx.php" style="border-width:0px;" alt="trackbacklink"> <$MTEntryTrackbackID$>
などに変更します。
なお、このような作業の意義については、
     comment spam, trackback spam 対策 ( Movable Type )
をご覧下さい。

Written by support

2004/12/26 @ 21:43

カテゴリー: ブログ blog

コメントを残す