|
||||||||||||
| 前のページ 1 2 3 4 次のページ | ||||||||||||
| マッシュアップの仕組み | ||||||||||||
|
どうして機械が複数のサイトを同時に検索できるのでしょうか。少し技術的な内容になってしまいますが、もう少し深く見てみましょう。 一般的なWeb上のサービスは、HTMLという「人間」が理解できるファイル形式で結果が返ってきます。それに対して、APIでは「機械」が理解しやすいXML形式で結果が返ってきます。XMLであれば仕様を明確に定義することができるので、プログラム側ではその仕様に則って、データを解析したり整形したりすることが容易になるのです。 図3の例ではこの仕組みでGoogleとAmazonの検索結果のXMLを解析し、それらを組み合わせて「人間」に見やすいHTMLに整形して表示することで、GoogleとAmazonの同時検索を実現しています。 |
||||||||||||
| SNSにおける外部サービスのAPI連携 | ||||||||||||
|
前項図3の例と同様に、SNSにおいても標準で備わっている機能と外部サービスのAPIを連携させることで、より利便性の高い機能を提供することができます。例えばmixiではAmazonのAPIと連携し、会員が自分の好きな本のレビューなどを書けるようになっています。 comnitでもmixiと同様にAmazonのAPIと連携し、自分の好きな本などをオススメとして登録することができるようになっています。その他にも、会員のプロフィール情報の一部である「現住所」というデータと、livedoorなどが提供している天気予報のAPIを連携させて、会員の住んでいる地域の天気予報を画面に表示することも簡単に実現できます。 前回から解説しているように、SNSに求められる機能はコミュニティの目的によって違い多岐に渡ります。その目的を果たすためには、SNSの中だけでは完結しない場合も考えられるでしょう。そのような時に外部のAPIとうまく連携することができれば、SNSの機能に幅を持たせ、コミュニティの目的を実現させていくことができるのです。 将来的な外部APIとの連携を視野にいれると、「外部のAPIへのアクセスメソッド」や「外部のAPIへのアクセスメソッドから返される『結果XML』の処理メソッドなどが用意されているSNSエンジン」を使った方が効率のよいカスタマイズが行えるでしょう。 先月オープンした表参道comnitでは機能をカスタマイズして、Google MapsのAPIと連携し、表参道の様々なショップを地図上に表示することができるようになっています。 また、まだあまり見かけられませんが、SNS側がAPIを公開するということも考えられます。会員がSNSとは別のところで別のサービスを利用する時に、SNS内のちょっとした機能と連動させることができるところを想像してみてください。 例えば自分のblogに、SNS内の自分のオススメの本を紹介したりすることも簡単にできるようになります。コミュニケーションの幅を広げることはマーケティングの視点からも重要なことです。 |
||||||||||||
| セキュリティ対策 | ||||||||||||
|
前回から前項までSNSの持つ仕組みや機能など、いわばSNSの攻撃的な面を紹介してきましたが、もちろん守備的な面も大切です。守備的な面、それはセキュリティ対策を指します。 まず、アプリケーションに潜むほとんどの脆弱性は「正しいプログラミング」により回避できるものです。よく耳にするSQLインジェクションやXSS(クロスサイトスクリプティング)の脆弱性というものは、正しいプログラミングを行っていれば、特別な対策を施さなくてもよいのです。 |
||||||||||||
| SQLインジェクション | ||||||||||||
|
SQLインジェクションの脆弱性はリクエストされたデータを正しくチェックして、データベース(DB)に送出するSQL構文が正しいものになるようにすれば回避できます。これは改まって「SQLインジェクション対策をする」というより、正しく動作するアプリケーションを作成する上で当然のことです。 SQLインジェクションの脆弱性はアプリケーションにとって致命的な問題となりえますし、実際に事件になったものも多くあります。しかしそれらの事件はSQLインジェクション対策を怠っていたというよりは、むしろ初歩的なプログラミングのミスでしょう。 |
||||||||||||
| XSS脆弱性 | ||||||||||||
|
XSSの脆弱性は出力するデータを正しくチェックして、サニタイジング(注2)を行えば回避できます。これも特に対策を施すというよりは、アプリケーションの動作を制御するという意味で当然のことだと思います。ユーザに対してHTMLのタグの使用を許可せず、すべてのタグを無効化してしまえばよいのです。
※注2:
入力されたデータからHTMLタグやJava Script、SQL構文の文字を検出し、置き換えを行うことで無害化すること。 しかしすべてのタグを無効化することは、ユーザに対してよりリッチな表現力を提供しようとした場合、つまりHTMLタグの使用を許可する場合には注意が必要です。ある一部のタグだけを許可するというのは案外難しく、許可したタグだけを使って悪意あるスクリプトを混入する手段がないかどうかを検証するのは大変です。comnitの標準機能ではユーザにタグ使用を許可していません。 |
||||||||||||
|
前のページ 1 2 3 4 次のページ |
||||||||||||
|
製品紹介 「SNSエンジン、comnit(コムニット)」 本連載は株式会社イースリーおよび株式会社ラソナの開発したSNSエンジン、comnitの利用ケースをもとに記事を掲載しています。 comnitで作り上げたコミュニティを生かして、お客様のマーケティング手法に合わせた実践的なケースをご紹介いたします。 詳細はコチラ http://www.comnit.jp/ http://www.e-3.jp/ |
||||||||||||
|
|
||||||||||||
|
||||||||||||
|
|
||||||||||||
|
||||||||||||
|
|
||||||||||||
|
||||||||||||

