2011-07-10 5 views
1

私は、iPadからのGETリクエストに応答するPHPスクリプトを作成してから、適切なデータベースクエリを作成してJSONを返します。例えば:PHPとiPad間のPHPスクリプトのパスコード

http://mydomain.com/index.php?param1=xxx&key=afdS31PsR

は、この(キー=のXXXXXXXXXは)私のデータベースの情報にアクセスすることから人々を停止する安全な方法ですか?私はそれがスクリプトにハードコードされていることを除いてそうであるように感じます - それで決して変わることはありません。

より良い方法は、キー値をハッシュし、キーワードのデータベースのハッシュと比較することです。しかし、iPadがHTTPS経由でキーとリクエストを送信しない限り、まだそれは安全ではないようだ。どのようにそれを行う上の任意のアイデア?おそらく、PHPスクリプトで公開鍵/秘密鍵の暗号化を設定する良い方法がありますか?私は暗号と認証に非常に慣れていないので、私に同行してください。

+1

「非常に不慣れ」の方は、セキュリティ上重要なアプリケーションをこの段階で展開しないでください。暗号だけでは非常に微妙な問題ですが、信頼できないクライアントマシンのどのデータに誰がアクセスできるかを考慮する必要があるため、適切な判断を下すためにクライアントソフトウェアのヒープを追加する必要があります... takeあなたの時間! –

+0

トピックについては、提案が妥当かどうかを知るために知っておくべき情報の半分を提供していません。ヒップから撮影すると、おそらくセキュリティを全く追加していないと言えます。 –

答えて

4

実際には技術に詳しいユーザーの場合、本当に安全な鍵(暗号化されていない)を送信する方法はありません。

しかし、GETリクエストとして送信することは一般的には悪い考えであり、値をハードコーディングすることはさらに悪い考えです。

「ユーザーごとの」ハッシュのデータベースを設定し、ハッシュされたキーとデータベースの格納されたハッシュを比較する必要があります。 の場合はでGETを使用する必要がありますが、POSTは認証の方法になります。

HTTPSを使用していない場合は、どのような方法ででもデータを盗聴している人の慈悲を受けていますが、少なくともPOSTでは、 URL。

+0

先日、私はこれについて考えていました。原則として、AJAXほどのSSLのようなHTTP実装でSSL実装を行うことができます。それが以前に行われたかどうかはわかりません。 –