最近はTrackbackもだいぶ定着してきて、
概要欄に「挨拶」を記述するケースも増えてきた。
exciteBlogにはTrackback用の概要欄がない。
本文のはじめの部分がTrackback時には概要として記述されることになる。
挨拶型のTrackbackはexciteBlogでは実現できないのだろうか?
そこでちょっとした実験をしてみることにした。
Trackbackの概要欄はリクエストパラメータのexcerptというパラメータで渡される。
「リクエストパラメータって何?」って思う人もいるかな?
googleで検索とかすると
http://www.google.com/search?hl=ja&ie=UTF-8&oe=UTF-8&c2coff=1&q=○○
みたいな感じでURLの後ろにq=○○だとかie=UTF-8だとかいろいろ付くでしょ。
このURLの後ろについているqやieがリクエストパラメータだ。
=の後ろはその値をあらわす。
ちなみにこんな風にURLの後ろにパラメータを記述する方式を「GET」、
URLにはパラメータを付加せずに送る方式を「POST」という。
formタグのmethodというところに記述されている。
で、Trackbackの概要書き換えをGETで記述してやる実験なのだ。
Trackback用URLの後ろに?excerpt=○○という文字を追加するだけ。
Trackbackは本来POSTで送信されるものなので、
あまりお行儀の良くない方法だが仕方ない。
この記事に「概要部変更のテスト成功です」と表示されればOKだ。
さて、どうなるか?
うわ、成功しちゃったよ。
これ、勘のいい人ならわかるかもしれないが、
「なりすましTrackback」が可能かもしれない。
そちらもやってみよう。
真似するやつがいるかも知れないのでこっちは詳細を書かないよ。
架空のブログ、ブログ名UNKO、URL:http://www.jigokuhen.unkoというエントリーから送信されたと偽装してみよう。
どれ。
あ、なりすましも余裕で成功。
これは送信側ではなく受信側のほうの問題。
exciteBlog内ではどうか?
トラックバックセンターのブログカテゴリに送ってみよう。
あ、概要部書き換えは成功。
では、なりすましの方はどうか?
ありゃりゃ、こっちも成功だよ。
う~ん。これはまずいぞ。
なりすましは出来て欲しくないが、
概要部の変更はやりたい。
この書き換えが可能なのは何故か?
それは同じ名称のリクエストパラメータが複数個きた時に
「最初のパラメータ」の値を利用しているためだ。
で、なりすましを防ぐには同じ名称が複数ある場合は「最後」のパラメータを使用するようにプログラムを変更すればいい。
で、概要部は書き換えたいので同じ名称が複数ある場合は「最後」のパラメータを使用するようにする。
これで、どうだ?
自前でCGI作ってTrackbackスパムしてくる人には対応できないが、WEB上から気軽に出来なくなうだけで効果はあるだろう。
最後に、これはテストしたのがlivrdoorとexciteだってだけの話で実際はほとんど全てのレンタルブログで可能だろうね。
これって有名な話なのかな?
俺はBlog初めて一ヶ月未満なのでよく知らないのだけど。