特集
» 2005年07月20日 08時30分 UPDATE

dev blog/CMS:ブログを支えるテクノロジー:ブログ情報伝達を加速するトラックバック、ping (5/5)

[大澤文孝,ITmedia]
前のページへ 1|2|3|4|5       

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
    rdf:about="記事のPermanent link"
    dc:identifier="記事のPermanent link"
    dc:title="記事のタイトル"
    trackback:ping="記事のトラックバックping URL" />
</rdf:RDF>

 記事中に、このような<rdf:RDF>を書いておくと、記事のPermanent linkとトラックバックping URLとの関係がアプリケーション側で分かるようになる。そのためユーザーは、トラックバックを送信するために、トラックバックping URLを手入力(もしくはコピー&ペースト)操作する必要がなくなる。

 自動検知に対応しているブログシステムは比較的多いので、トラックバック機能を提供するなら、このような<rdf:RDF>を記事中に埋め込んでおいたほうがよいだろう。

 またブログシステムによっては、自動検知を利用して、ユーザーが明示的にトラックバック操作しなくても、自動でトラックバックpingを送り込むように動作するものもある(ただしユーザーが意図せずにトラックバックpingを送信してしまうのはどうなのか? という問題は残る)。


コラム:pingback
 トラックバックと似た仕様として、「pingback」という仕様もある(http://www.hixie.ch/specs/pingback/pingback-1.0)。
 pingbackは、記事へのリンクを張ったとき、その旨を相手先に自動的に通知する仕組みだ。pingbackに対応したブログシステムに記事を投稿すると、その記事に含まれているURLリンクが調べられる。そしてGETメソッドを使って、そのURLに対応するコンテンツが受信される。
 リンクが張られる側がpingbackに対応している場合、GETメソッドを使って受信したときに、pingback仕様で定義されるpingデータの受け手となるWebアプリケーションのURLが「X-pingbackヘッダ」もしくは「HTMLページ中のlink要素」で示される。
 もしX-pingbackヘッダやlink要素が見つかった場合には、自動的に、そのURLに向けてpingデータを送信する。これによって、「リンクを張った」という通知が相手先に伝わる(図A)

figA.gif 図A■pingbackの動作

 pingbackのpingデータは、トラックバックpingのデータと異なり、「送信元のURL」と「送信先のURL」のみで構成され、記事のタイトルや概要といった情報は含まれない

 ブログシステムによっては、トラックバックだけでなく、このpingbackに対応しているものもある。pingbackに対応している場合には、ユーザーが明示的にトラックバック操作をしなくても、リンクを張ったという旨が、自動的に相手先へと伝わる。

不正なトラックバックの排除

 ここまで説明してきたように、トラックバックpingは、ごく簡単なデータ構造であり、認証などもなく、どんなユーザーからも受け付けるのが基本動作だ。

 そのため悪意あるユーザーが、怪しげなサイトへのトラックバックping(いわゆるトラックバックスパム)を大量に送信してくることも多い。そこで、トラックバックを受け入れるサイトでは、何らかの不正なトラックバックを排除する仕組みを設けているのが一般的だ。

 多くのサイトでとられている方法は、「トラックバックpingのurlパラメータで指定されているコンテンツに、本当に自サイトへのリンクが含まれているかどうかを確認する」というものだ。トラックバックは、「相互にリンクを張る」のが基本だ。そこで、このような確認をすることで、相手から自分へのリンクが張られていないにも関わらず、自分側からリンクを張ってしまうという事態を防げる。

 また、さらには、「トラックバックpingを送ってきたコンピュータがWebサーバー機能を提供しているかどうか」や「IPアドレスを逆引きして、urlパラメータで指定されたURLと同じドメインに属するコンピュータから送信されているか」を調べるなど、トラックバックpingの送信元を判断する対策がとられることもある。このような調査をすることで、「ブログシステムからのトラックバックpingは受け付けるが(ブログシステムはWebサーバーで動いているから)、クライアントコンピュータ上でツールを使って送信されたトラックバックpingは受け付けない」といった制限ができる。

 あまりにきつく制限をかけすぎるのは問題だが、商用サイトでトラックバックを受け付けるように構成するなら、ある程度の制限をかけ、不正なトラックバックpingを受け付けないようにする何らかの対策が不可欠だ。

前のページへ 1|2|3|4|5       

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

ピックアップコンテンツ

- PR -

注目のテーマ