Make it possible with Python.

最近Pythonから離れ気味、その他物作りに寄り気味です。

BaaSサービスのParse.com の使い方と、危険性について

photo by Abllo™

BaaSとParse.comの利点について

Webサービスを作る場合、BaaSサービスを使わないと初心者では敷居が高すぎると聞いたので、BaaSについて調べてみた。 BaaSというのは、バックエンド処理を提供してくれるサービスで、例えば有名なParse.comというサービスだと、以下のことができるらしい。

Parse.com で出来ること レコードの参照・登録・更新 ユーザ管理(スケルトンが用意されていて、Facebook・Twitter 連携も) 奥の手として、各APIにJavaScriptでサーバサイド処理を書ける(Cloud code) プッシュ通知 Parse.com を Backbone.js のバックエンドとして使ってみる - akiyoko blog

Parse.comを実際に使ってみた

便利そうなので実際に使ってみた。このサイトのチュートリアルが非常にわかりやすかった。

Parse.com を Backbone.js のバックエンドとして使ってみる - akiyoko blog

昨日できたてのVirtualBox環境で、実際に公式チュートリアルのTodoリストを動作させてみた。

BaaSがどうというより、初めてテキスト以外の動的サービスがVirtualBox上で動いてちょっと嬉しかった。

1点だけ詰まったのは、httpサーバーのURLについて。 SSHでcdを使ってディレクトリを移動すると、"python -m CGIHTTPServer" でhttpサーバーを動かす(?)際に、現在のディレクトリが最上位URLになるんですね。

Parse.comにはセキュリティリスクがある

その一方で、こんな指摘を見つけた。

超簡単にできるぐらいなので、そのままだとかなり危険。データベースをネットにさらしているようなもの。MySQLとかPostgreSQLとかOracleの入口をID、パスワードを公開してネットにさらしてる感じと、まずは理解する。 例) 保存されたユーザーのメールアドレスを誰でも閲覧可能 データの一覧は取り放題 誰でもデータも消せちゃう クライアント側からSQLで言うところの、SELECT, UPDATE, INSERT, DELETE 呼べてるんだから、当然。

Parse.com を導入する際に気を付けること:セキュリティの甘さについて - Qiita

これはちょっと怖い。正式サービス前にセキュリティ有識者へのヒアリングと対策が必須な様子。 何もかもうまくいくほど、成熟はしていない様子。

それにしても、BaaSで一番有名なParse.comがこのレベルだと、BaaSを使ったサービスには危険なものも含まれているんじゃないかと気になる。