TrackBack
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
関連: [[開発談義]], [[official:トラックバック]]~
RIGHT:&size(10){Category: [[RSS>:Category/RSS]]};~
* TrackBackとは [#v1ca95ce]
-[http://www.movabletype.org/trackback/ 本家 TrackBack De...
-[http://www.movabletype.org/docs/mttrackback.html TrackB...
-[http://www.sixapart.com/pronet/docs/trackback_spec Trac...
-[http://www.movabletype.org/docs/mtmanual_trackback.html...
-http://lowlife.jp/translation/mttrackback.html
-http://www.hyuki.com/yukiwiki/wiki.cgi?TrackBack
-[http://rebecca.ac/milano/mt/archives/000065.html TrackB...
- [[YukiWiki:TrackBack]]
- tb-standalone 日本語化 + メール送信
-- http://blog.bulknews.net/mt/archives/000383.html
- ねこめしにっき: excerpt は 255 バイトでぶった切るのが慣...
-- http://www.remus.dti.ne.jp/~a-satomi/nikki/2003/10b2.h...
- リンク元の追跡 => [[Referer]]
-----
#contents
** ツール [#vcb7df3a]
- Wizbang Standalone Trackback Pinger
-- http://www.aylwardfamily.com/content/tbping.asp
** セキュリティ [#v2959ff7]
-参考 : [[Tea Room for Conference:http://www.office.ac/te...
>TrackBackの仕様書を眺めてみた。~
http://lowlife.jp/translation/mttrackback.html~
私には意味はほとんどわからないが、なんだかいっぱいセキュ...
>とりあえずみなさん、実装段階でちゃんとXSS対策はしてるん...
titleもexcerptもurlもblog_nameもHTMLに吐き出す前にちゃん...
<
--これを引用するということは、PukiWiki の function saniti...
--- 引用した人間じゃありませんが、sanitize() だけでは不十...
** 懸案事項 [#v1844f89]
-現在のarticle形式で過去の記事を別ページ送りにするような...
--calendarでページを(hoge/yyyy-mm-ddで)作成している人だけ...
--対応にはarticleプラグインの代替となる仕組みが必要。--例...
---1つの html を生成するタイミングで、1つの TrackBack ...
---ページ送りの部分は、一度消すという運用(ページが消えた...
-現仕様が、そもそもとしてゴミが発生する。というものなので...
--なので、究極は、TrackBack Ping データを、手動で消すか?...
----
*技術仕様(まとめ) by [[upk]] [#vd03701d]
私になりに理解した内容を、つらつらと。
間違いなく、[http://lowlife.jp/translation/mttrackback.ht...
+何か PukiWiki 内のページでリンクした。
+そのリンクした URI は、ページ更新のタイミングで取得する。
+その URI を使って、ドキュメントを GET する。
+GET したドキュメントに埋め込まれた TrackBack Ping URL を...
+その TrackBack Ping 用 URL を使って POST して情報を相手...
まぁ、こんな流れです。
**TrackBack Ping URL の取得方法 [#n824032c]
-アンカー(<a>)タグでリンクしている文書にたいして、GET で...
-そのドキュメント中に、以下の RDF を検出し、TrackBack Pin...
<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syn...
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:trackback="http://madskills.com/public/xm...
<rdf:Description
rdf:about="http://www.foo.com/archive.html#foo"
dc:identifer="http://www.foo.com/archive.html#foo"
dc:title="Foo Bar"
trackback:ping="http://www.foo.com/tb.cgi/5" />
</rdf:RDF>
-->
-RDFが存在しないか、''アンカーが架空''などであれば、除外...
--PukiWiki の場合、404 などの Not Found という概念は無く...
**TrackBack Ping の送信 [#a7283323]
上で得た TrackBack Ping URL から、POST メソッドで送信する。
POST http://www.foo.com/mt-tb.cgi/5
Content-Type: application/x-www-form-urlencoded
title=Foo+Bar&url=http://www.bar.com/&excerpt=My+Excerpt...
これでは、例えば、excerpt に書かれている文字が、UTF-8なの...
などで、色々と議論されている。
-[http://www.hyuki.com/yukiwiki/wiki.cgi?TrackBack 「Web...
-PukiWiki に関して言えば、function sanitize($param) で $_...
***パラメータ [#vdd17e6c]
-title
-url
-excerpt
>概要を 255文字程度で。ダブルバイトな文字での 255 なんと...
難しいので、行読みして、というような段取りでしか PHP だと...
mb シリーズも強化されてきたので、できそうではあるものの、...
そこまでは、とも思っています。
<
-blog_name
>WebLogやblogについて [http://lowlife.jp/cgi-bin/moin.cgi...
で説明されている。
この blog_name という blog に拘る必要もなく、
処理システム名でも記述するのだろうと理解しています。
**__mode=rss [#q7ea1c76]
TrackBack に対応したとするならば、
本文中に、TrackBack Ping URL を埋め込んだ TrackBack Ping ...
__mode=rss というクエリーストリングを付加した URI で GET ...
そのドキュメントに対して、継続された議論への RSS 情報を出...
実装しておく必要がある。
http://www.foo.com/mt-tb.cgi/5?__mode=rss
<?xml version="1.0" encoding="iso-8859-1"?>
<response>
<error>0</error>
<rss version="0.91"><channel>
<title>TrackBack Test</title>
<link>http://this.is/the/trackback/item/link/</link>
<description>Description of the TrackBack item</descript...
<language>en-us</language>
<item>
<title>TrackBack Demo</title>
<link>http://this.is/the/permalink/</link>
<description>Excerpt</description>
</item>
</channel>
</rss></response>
-__mode=rssは、TrackBack技術仕様書ver1.2では機能が削除さ...
**__mode=view [#mf0b98dd]
[http://www.movabletype.org/docs/mttrackback.html TrackBa...
定義されていないものの、[http://www.movabletype.org/track...
利用されていたので、同じ挙動で実装している。単に、受信し...
表示する機能であり、本文中に埋め込んだ TrackBack Ping URL...
__mode=view というクエリーストリングを付加した GET を受信...
一覧表示される。
''表示順'': 受信日時の直近から降順としました。ホットな話...
**TrackBack ID [#vb04b9b2]
TrackBack ID は、数字だぁ。と定義されているドキュメントも、
ないわけではないものの、明確には定義されていない。
PukiWiki のページ個々に、マッピング用 ID を
これがために採番するのもなぁ。FrontPage は1。とか。~
なので、そんなマッピングは行っておりません。ページ名の長...
ない、常に一定な長さとなる方法にしちゃいました。この方法...
ことがあるのなら、逆に、このハッシュは問題です。というと...
ということで、PukiWiki ユーザでかつ、同じ文字コードで運用...
サイト間では、TrackBack ID を、計算することが可能です。
サイト個々でユニークとはなりません。しかし、それが仕様で...
ページを GET することもなく、計算しちゃったり。ということ...
今後、保守を行う上でも、しちゃいけません。
** コメント [#vbeb5156]
// ** [[BugTrack/461]] からの議論 [#v7d790e0]
-showrssの全てのリンクへpingを打ってしまう問題点。[[BugTr...
-$trackback=1のときに、#showrssで表示される全部のURLにPin...
--showrssで表示しても、そのページのタイムスタンプは変わら...
--tb_sendは内部でページソースをconvert_html()して、できた...
--場当たり的なパッチ(行頭#および表内の#をプラグインとみな...
diff -u -r1.13 trackback.php
--- trackback.php 3 Sep 2003 05:53:45 -0000 1.13
+++ trackback.php 11 Sep 2003 00:11:43 -0000
@@ -84,6 +84,7 @@
set_time_limit(0); // 処理実行時間制限(php.ini オプシ...
+ $data = join("\n",preg_replace('/(^|\|)#/','$1 #',expl...
$data = convert_html($data);
// convert_html() 変換結果の <a> タグから URL 抽出
--仕様的から見れば、まずいものでも無いと思います。ダイナ...
---Trackback Ping を送って、価値のある期間が、RDFなどの更...
--どうしたもんですかね。いたずらで#showrssを大量に書き込...
---それも確かに、相手サイトに迷惑をかけることになりますね...
---対応策として、convert する際に、オプションで、プラグイ...
---あ。でも、そんなことを言い出すと、「じゃ、TrackBackサ...
-トラックバック機能のリンクタグにonclick="OpenTrackback(t...
--[[BugTrack/475]]参照。 -- [[reimy]] &new{2004-02-26 (木...
-2ちゃんねるや、したらばからPingを送ってるはずなのに、Tr...
--GET methodでtrackback pingを送信するサイトには対応して...
-GET methodによるtrackback pingの受信にも対応されました。...
-ping送信荒らしができてしまうなど、かなり問題がありますけ...
--手動ping送信なら、既にプラグインで実装されていますよ。-...
-- [[official:欲しいプラグイン/105]] -- &new{2005-07-12 ...
-- [[official:欲しいプラグイン/141]]
*関連ページ [#yd1f6eb9]
#related
終了行:
関連: [[開発談義]], [[official:トラックバック]]~
RIGHT:&size(10){Category: [[RSS>:Category/RSS]]};~
* TrackBackとは [#v1ca95ce]
-[http://www.movabletype.org/trackback/ 本家 TrackBack De...
-[http://www.movabletype.org/docs/mttrackback.html TrackB...
-[http://www.sixapart.com/pronet/docs/trackback_spec Trac...
-[http://www.movabletype.org/docs/mtmanual_trackback.html...
-http://lowlife.jp/translation/mttrackback.html
-http://www.hyuki.com/yukiwiki/wiki.cgi?TrackBack
-[http://rebecca.ac/milano/mt/archives/000065.html TrackB...
- [[YukiWiki:TrackBack]]
- tb-standalone 日本語化 + メール送信
-- http://blog.bulknews.net/mt/archives/000383.html
- ねこめしにっき: excerpt は 255 バイトでぶった切るのが慣...
-- http://www.remus.dti.ne.jp/~a-satomi/nikki/2003/10b2.h...
- リンク元の追跡 => [[Referer]]
-----
#contents
** ツール [#vcb7df3a]
- Wizbang Standalone Trackback Pinger
-- http://www.aylwardfamily.com/content/tbping.asp
** セキュリティ [#v2959ff7]
-参考 : [[Tea Room for Conference:http://www.office.ac/te...
>TrackBackの仕様書を眺めてみた。~
http://lowlife.jp/translation/mttrackback.html~
私には意味はほとんどわからないが、なんだかいっぱいセキュ...
>とりあえずみなさん、実装段階でちゃんとXSS対策はしてるん...
titleもexcerptもurlもblog_nameもHTMLに吐き出す前にちゃん...
<
--これを引用するということは、PukiWiki の function saniti...
--- 引用した人間じゃありませんが、sanitize() だけでは不十...
** 懸案事項 [#v1844f89]
-現在のarticle形式で過去の記事を別ページ送りにするような...
--calendarでページを(hoge/yyyy-mm-ddで)作成している人だけ...
--対応にはarticleプラグインの代替となる仕組みが必要。--例...
---1つの html を生成するタイミングで、1つの TrackBack ...
---ページ送りの部分は、一度消すという運用(ページが消えた...
-現仕様が、そもそもとしてゴミが発生する。というものなので...
--なので、究極は、TrackBack Ping データを、手動で消すか?...
----
*技術仕様(まとめ) by [[upk]] [#vd03701d]
私になりに理解した内容を、つらつらと。
間違いなく、[http://lowlife.jp/translation/mttrackback.ht...
+何か PukiWiki 内のページでリンクした。
+そのリンクした URI は、ページ更新のタイミングで取得する。
+その URI を使って、ドキュメントを GET する。
+GET したドキュメントに埋め込まれた TrackBack Ping URL を...
+その TrackBack Ping 用 URL を使って POST して情報を相手...
まぁ、こんな流れです。
**TrackBack Ping URL の取得方法 [#n824032c]
-アンカー(<a>)タグでリンクしている文書にたいして、GET で...
-そのドキュメント中に、以下の RDF を検出し、TrackBack Pin...
<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syn...
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:trackback="http://madskills.com/public/xm...
<rdf:Description
rdf:about="http://www.foo.com/archive.html#foo"
dc:identifer="http://www.foo.com/archive.html#foo"
dc:title="Foo Bar"
trackback:ping="http://www.foo.com/tb.cgi/5" />
</rdf:RDF>
-->
-RDFが存在しないか、''アンカーが架空''などであれば、除外...
--PukiWiki の場合、404 などの Not Found という概念は無く...
**TrackBack Ping の送信 [#a7283323]
上で得た TrackBack Ping URL から、POST メソッドで送信する。
POST http://www.foo.com/mt-tb.cgi/5
Content-Type: application/x-www-form-urlencoded
title=Foo+Bar&url=http://www.bar.com/&excerpt=My+Excerpt...
これでは、例えば、excerpt に書かれている文字が、UTF-8なの...
などで、色々と議論されている。
-[http://www.hyuki.com/yukiwiki/wiki.cgi?TrackBack 「Web...
-PukiWiki に関して言えば、function sanitize($param) で $_...
***パラメータ [#vdd17e6c]
-title
-url
-excerpt
>概要を 255文字程度で。ダブルバイトな文字での 255 なんと...
難しいので、行読みして、というような段取りでしか PHP だと...
mb シリーズも強化されてきたので、できそうではあるものの、...
そこまでは、とも思っています。
<
-blog_name
>WebLogやblogについて [http://lowlife.jp/cgi-bin/moin.cgi...
で説明されている。
この blog_name という blog に拘る必要もなく、
処理システム名でも記述するのだろうと理解しています。
**__mode=rss [#q7ea1c76]
TrackBack に対応したとするならば、
本文中に、TrackBack Ping URL を埋め込んだ TrackBack Ping ...
__mode=rss というクエリーストリングを付加した URI で GET ...
そのドキュメントに対して、継続された議論への RSS 情報を出...
実装しておく必要がある。
http://www.foo.com/mt-tb.cgi/5?__mode=rss
<?xml version="1.0" encoding="iso-8859-1"?>
<response>
<error>0</error>
<rss version="0.91"><channel>
<title>TrackBack Test</title>
<link>http://this.is/the/trackback/item/link/</link>
<description>Description of the TrackBack item</descript...
<language>en-us</language>
<item>
<title>TrackBack Demo</title>
<link>http://this.is/the/permalink/</link>
<description>Excerpt</description>
</item>
</channel>
</rss></response>
-__mode=rssは、TrackBack技術仕様書ver1.2では機能が削除さ...
**__mode=view [#mf0b98dd]
[http://www.movabletype.org/docs/mttrackback.html TrackBa...
定義されていないものの、[http://www.movabletype.org/track...
利用されていたので、同じ挙動で実装している。単に、受信し...
表示する機能であり、本文中に埋め込んだ TrackBack Ping URL...
__mode=view というクエリーストリングを付加した GET を受信...
一覧表示される。
''表示順'': 受信日時の直近から降順としました。ホットな話...
**TrackBack ID [#vb04b9b2]
TrackBack ID は、数字だぁ。と定義されているドキュメントも、
ないわけではないものの、明確には定義されていない。
PukiWiki のページ個々に、マッピング用 ID を
これがために採番するのもなぁ。FrontPage は1。とか。~
なので、そんなマッピングは行っておりません。ページ名の長...
ない、常に一定な長さとなる方法にしちゃいました。この方法...
ことがあるのなら、逆に、このハッシュは問題です。というと...
ということで、PukiWiki ユーザでかつ、同じ文字コードで運用...
サイト間では、TrackBack ID を、計算することが可能です。
サイト個々でユニークとはなりません。しかし、それが仕様で...
ページを GET することもなく、計算しちゃったり。ということ...
今後、保守を行う上でも、しちゃいけません。
** コメント [#vbeb5156]
// ** [[BugTrack/461]] からの議論 [#v7d790e0]
-showrssの全てのリンクへpingを打ってしまう問題点。[[BugTr...
-$trackback=1のときに、#showrssで表示される全部のURLにPin...
--showrssで表示しても、そのページのタイムスタンプは変わら...
--tb_sendは内部でページソースをconvert_html()して、できた...
--場当たり的なパッチ(行頭#および表内の#をプラグインとみな...
diff -u -r1.13 trackback.php
--- trackback.php 3 Sep 2003 05:53:45 -0000 1.13
+++ trackback.php 11 Sep 2003 00:11:43 -0000
@@ -84,6 +84,7 @@
set_time_limit(0); // 処理実行時間制限(php.ini オプシ...
+ $data = join("\n",preg_replace('/(^|\|)#/','$1 #',expl...
$data = convert_html($data);
// convert_html() 変換結果の <a> タグから URL 抽出
--仕様的から見れば、まずいものでも無いと思います。ダイナ...
---Trackback Ping を送って、価値のある期間が、RDFなどの更...
--どうしたもんですかね。いたずらで#showrssを大量に書き込...
---それも確かに、相手サイトに迷惑をかけることになりますね...
---対応策として、convert する際に、オプションで、プラグイ...
---あ。でも、そんなことを言い出すと、「じゃ、TrackBackサ...
-トラックバック機能のリンクタグにonclick="OpenTrackback(t...
--[[BugTrack/475]]参照。 -- [[reimy]] &new{2004-02-26 (木...
-2ちゃんねるや、したらばからPingを送ってるはずなのに、Tr...
--GET methodでtrackback pingを送信するサイトには対応して...
-GET methodによるtrackback pingの受信にも対応されました。...
-ping送信荒らしができてしまうなど、かなり問題がありますけ...
--手動ping送信なら、既にプラグインで実装されていますよ。-...
-- [[official:欲しいプラグイン/105]] -- &new{2005-07-12 ...
-- [[official:欲しいプラグイン/141]]
*関連ページ [#yd1f6eb9]
#related
ページ名: