ここが危ない!Web2.0のセキュリティ

第7回 マッシュアップのセキュリティ

この記事を読むのに必要な時間:およそ 2 分

マッシュアップサイトの仕組み

前回まで,WebAPIやJSONPのセキュリティについて見てきましたが,これらWebAPIやJSONPが活躍する場といえるのが,マッシュアップです。

マッシュアップとは,複数サイトの情報を組み合わせて1つのサービスを提供することで,新たな価値を生み出すことです。たとえば,地図情報と不動産情報を組み合わせることで,視覚効果の高い不動産検索サービスを提供するものなどがあります。

WebAPIという形で,情報にアクセスするためのインターフェースを提供する企業が増えたことで,簡単にマッシュアップサイトを作ることができるようになりました。

それではまず,マッシュアップサイトの仕組みを説明します。

図1 マッシュアップサイトのイメージ

図1 マッシュアップサイトのイメージ

マッシュアップサイトを構成する元となる情報を提供するサイトをコンテンツプロバイダマッシュアップによって作られたサイトのことをマッシュアップサイトと呼ぶことにします。コンテンツプロバイダは,WebAPIとして情報にアクセスするためのインターフェースを提供します。マッシュアップサイトは複数のコンテンツプロバイダから情報を取得し,組み合わせて表示します。

また,コンテンツプロバイダがWebAPIを提供していない場合もあります。その場合は,コンテンツプロバイダのWebサイトを読み込み,その中から必要な情報を抜き出すという作業を行うことになります。これはスクレイピングと呼ばれます。WebAPIが提供されている場合には,提供している情報を使ってほしいというサイト運営者の意思表示が汲み取れるのに対して,提供されていない場合にはそれがわかりません。そのため,ある日突然コンテンツの構造が変更され,スクレイピングによりデータを取得できなくなることも考えられます。また,情報を利用されることを好ましく思わないサイト運営者もいるかもしれません。なるべくWebAPIからマッシュアップしたほうがよいでしょう。

マッシュアップサイトがコンテンツプロバイダから情報を取得する方法としては,主に2種類の方法があります。サーバ(マッシュアップサイト)が取得する方法と,クライアント(ユーザのブラウザ)が取得する方法です。

サーバ(マッシュアップサイト)による取得
マッシュアップサイトのプログラムからコンテンツプロバイダにアクセスしてデータを取得します。形式としてはXML,JSONがよく使われます。
クライアント(ユーザのブラウザ)による取得
ユーザがブラウザでマッシュアップサイトにアクセスした際,SCRIPTタグからデータを取得します。形式としてはJSONP,JavaScriptがよく使われます。

実際にマッシュアップサイトを構築する場合は,複数のコンテンツプロバイダからデータを取得することがほとんどですので,上記の2つの方法が,1つのマッシュアップサイトに混在することになります。

図2 マッシュアップサイトのデータ取得

図2 マッシュアップサイトのデータ取得

著者プロフィール

福森大喜(ふくもりだいき)

株式会社セキュアスカイ・テクノロジー CTO。大学の授業で作成したプログラムのセキュリティホールを指摘されたのがきっかけでセキュリティの道に進む。セキュリティベンダーでIDS,IRT等に従事した後,Webアプリケーションのセキュリティ検査サービスを立ち上げる。2006年4月に株式会社セキュアスカイ・テクノロジーを設立。

URLhttp://www.securesky-tech.com/

コメント

コメントの記入