« LaunchBackgroundTasks mt-testbg.cgi | メイン | MySQL 4.1.7 (s101, s102 サーバ) と PublishCharset UTF-8 »

2004年12月26日

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

個別エントリー・アーカイブのテンプレート (デフォルト)では、
トラックバック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 )
をご覧下さい。

投稿者 mvtp : 2004年12月26日 21:43

トラックバック

このエントリーのトラックバックURL:
trackbacklink 44

コメント

コメントしてください

サイン・インを確認しました、 . さん。コメントしてください。 (サイン・アウト)

(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


情報を登録する?




 Modified by Toshiaki YAMAMURA    Powered by Movable Type
 ■シックス・アパート株式会社より「個人用ライセンス」を取得し、Movable Type にて情報提供中です. ■ハンドル名とメールアドレスを入力すると、自由にコメント投稿できます. 但し、15歳未満のお子供は必ず保護者の指導・監督下で行って下さい. ■本ウエブログでは、サイト管理・運営者が著しく不利益と判断するコメントや他人を誹謗中傷するコメントは、直ちに削除いたします.