2

自分のサーバーにある Joomla で生成されたデータベースを使用する必要がある iPhone アプリを開発しています。
多くの解決策があるため、セキュリティを強化するために、PHP を介してデータベースと「対話」することにしました。

次のようなPHPページがあります。

www.mypage.com/iphonelogin.php ?username=USER1&password=XXX&option=login

、、、などoptionです。_getuserinfologinreset password

問題は、パスワードがデータベースに暗号化されて保存されていることです。( MD5(password+Salt):Salt)

したがって、次の方法でこれを行う方法を考えています。

  • 低セキュリティの方法: PHP は、APP から平文のパスワードを取得し、DB から完全に暗号化されたパスワードを取得します。次に、PHP はソルトを使用し、パスワードを暗号化して比較を行い、YES または NO を APP に返します。

  • 別の方法: PHP は、APP から REVERSIBLE 暗号化されたパスワードを取得して復号化し、上記と同じようにします。

  • 優れたセキュリティ方法 (かなり遅い): PHP は DB から完全に暗号化されたパスワードを取得し、Salt を APP に表示します。APP は Joomla の方法でパスワードを暗号化し、完全に暗号化されたパスワードを PHP に送信します。PHP は比較を行い、YES または NO を APP に返します。

アプリがデータベースから何かを必要とするたびに、ログインを確認する必要があるため、高度なセキュリティと高速接続が必要です。

何を使うか、またはそれを行う別の方法を教えてください。

4

1 に答える 1

0

クライアント <=> Joomla サーバーのセットアップにセッション管理機能セットを作成する必要があります。

このワークフローでは、ユーザーが電子メールと (プレーン) パスワードを 1 回入力するだけで、サーバーからセッション トークンを要求します。

このトークンは、クライアントがサーバーからのデータを要求するたびに検証できます。

お気づきのように、データベースをクライアントに直接公開しないでください。これは、どのような設定にとっても悪い考えです。潜在的なセキュリティ リスクを回避するために、クライアントとサーバーの抽象化の間に常にインターフェイス/API バッファーを保持する必要があります。

于 2013-07-31T05:31:00.427 に答える