• ベストアンサー

HTML5ハイブリッドアプリのセキュリティ

HTML5とJavascriptを使ったスマホのアプリで バックエンドのサーバー接続に必要な IDなどをJavascriptに書くと思いますが セキュリティ的に大丈夫なのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#247307
noname#247307
回答No.2

>バックエンドとして、parse.comの利用を検討しています。 そのサービスは知らなかったので、ざっと見てみました。以下から配布されているスクリプトが見られます。 http://www.parsecdn.com/js/parse-1.4.2.js やはり、XMLHttpRequestを使い、Ajaxでparase.comのサーバーにアクセスし、データを保存したり必要な情報を取得しているようですね。アクセスするサーバーはhttpsでセキュアなものを使っており、ログインに必要なアクセスはpost送信されています。またユーザを識別するセッションは毎回トークンを変更し、追跡不可にしています。一般的なセキュア対策はひと通りされており、心配することはないと思いました。 JavaScriptを使っているということで不安を感じるのかもしれませんが、GoogleやFacebookのログインフォームもAjaxも、きちんとセキュアな対策を取っていれば安全の上ではそれほど違いはないと思いますよ。 それより問題は、ユーザー情報などを自社でなく外部に委ねていいのか、そっちのほうじゃないでしょうか。ログイン処理などの不安より、サイトに外部から攻撃がされてユーザー情報が流出、なんてことのほうが今は不安だったりしますから。 GoogleやFacebookぐらいになればさまざまな攻撃に晒されてきたので大抵の対応はできますが、新興の小さな企業だとそうした経験が少なく、思いがけない弱点を露呈してしまうことがあります(parase.comがそうだということではありません、念のため)。そのへんをどこまで信頼するか、ですね。

noname#213288
質問者

お礼

詳しく回答いただきありがとうございます。 いろいろと調べたところ、他の方も心配されている方がいらっしゃるようでした。 https://parse.com/questions/javascript-sdk-security

その他の回答 (1)

noname#247307
noname#247307
回答No.1

サーバー接続に必要なIDなどをJavaScriptに書くことはないと思いますが……。 例えばログインしてユーザー認証をするアプリなら、まずログインページに移動し、そこでフォームから送信をします。これはPOST送信となり、通常はセキュアな形でサーバに送信するはずです。 そしてサーバー側でログイン処理が行われたら、セッションを確立し、以後はサーバー接続時のそのセッションがログイン許可されたものかどうかを確認しながら処理を行います。このとき送られるのはセッションIDのみであり、これはダイナミックに割り振られます。IDなどの情報をJavaScriptなどに静的に記述する必要はまったくないので問題は起こらないでしょう。

noname#213288
質問者

お礼

なんども回答いただきありがとうございました。

noname#213288
質問者

補足

バックエンドとして、parse.comの利用を検討しています。 そのparse.comへの接続方法としてJavascriptを利用するとソースコード上に接続情報を書くようなになっているようなのです。 素人考えで、第三者が利用することができるのでは無いかと思いまして。。。

関連するQ&A