(1107d)お名前:Pukiwiki:トラックバックの検討、その2。†つーわけで、少しずつやってます。『依頼する』側からやってます。これができれば、『変なリクエストに対するレスポンス』の実動作も見られるので。「送信ボタン」を押したらトラックバック送信する、プラグイン。書式は以下のような感じ。URLが、接続先の記事URL。URL文字列が指定されているとみなして動く。プラグインが勝手につけるもので、ユーザは意識しなくて良い。上記のように書くと、wiki記事ページ上には以下の2要素が表示される。「text」というホットスポット。pukiwikiの下記記載と同じように見えるはず。Trackback」というボタン。押すとトラックバック送信する。flgパラメータを「送信済み」状態に変更、ページをリロードする。「送信済み」であれば、上記「textのホットスポット」は表示されるが、「Sendボタン」は表示されなくなる。1回しかトラックバック送信しない。トラックバックスパムの対策として、管理者認証が必要に思う。&tbsendを書いてping送信」できてしまうと、攻撃用に悪用されてしまうため。管理者認証ができるかは要調査。voteプラグインあたりを参考にしてます。1つのページに複数置かれるとか、ボタンを押すと元画面を書き換えるとか、そういう振る舞いが近い。↑ボタンを押したあとの動き詳細。「送る」ボタンを押したあとの処理。こんなアルゴで実装中。プラグインで指定された「リンク対象のURL」を取得。当該記事がなければ、エラー。取得した記事内を解析し、rdf領域内にある「trackback:ping=xxxx」で指定されるURLを取り出す。なければ、トラックバック未対応と判断して送らない。結果のレスポンス解析、OKかどうかチェック。Okなら、前述の通り、プラグイン部分に「送信済み」フラグを反映する。↑というわけで、現時点での進捗。実は、基本的なメカニズム部分は作成・テスト済みで、以下のようなことはできています。最初の表示(URLリンクとボタン表示)処理。ボタンを押したあと、フラグを書き換えて「ボタン表示しない」状態になる仕組み。なくブロックプラグインになっている。attachref()を参考に見直したほうがよい。送信処理の基本メカニズム。実際に「はてなブログ」へのトラックバック送信には成功してます:そちらの記事で「トラックバック受領、承認待ち」の状態になったことを確認できた。具体的な実装としては:rdfの(簡易)解析→URL取得実施と、上記URLへの送信。以下、いくつかは前述とかぶりますが、今後のToDo。これができないと、1行に複数のURLを書けない。「送信」を管理者のみ実施可能にする。これがないと、トラックバックスパムへの悪用ができてしまう。別の言い方をすると、このプラグインを置く場合には、少なくとも「特定の管理者」の定義を必須にするつもり。友瀬の日記ページのように『複数の日記をまとめて表示』するような画面がある。ここにおいてトラックバック送信がどう動くべきか。本質的には「元ページのURL」で送信するのが筋。「まとめたページのURL」で送ってしまうと思う。ここについては、管理者の人的責務でやるしかないと思っている。....>』となっているが。....>』となっていて、多少緩い。検索正規表現だけの話なので、やればいいだけではあるかも。明確な定義がないので、「自分ルール」でもできちゃうけど・・・という部分。実際、2/15時点でのテスト版では、自分のブログ対象なのをいいことに、わりといい加減な内容で送っている。「記事概要」の文字コードについて。統一された仕様がないっぽい。