2

Web サイトが使用しているのと同じ MySQL サーバーを使用する Android アプリを開発しています。

アプリでデータベースに接続したいのですが、サーバーにいくつかの PHP ファイルを配置し、HTTP ポストを使用して、json 形式で応答を取得することで、以前にそれを行いました。理由はわかりませんが、私は専門家ではありませんが、これはあまり安全な方法とは思えません。

SOAPまたはREST Webサービスを使用する方が安全に思えますが、それらをサーバーにデプロイする方法がわかりません(サーバーは私のものではありません。あまりだまされたくありません)。

それでは、私にとって最も安全な方法は何ですか?

また、PHP スクリプトを使用している場合、データベース資格情報を PHP スクリプトまたはアプリケーションに保存して、PHP スクリプトに渡す必要がありますか? これらの中で最も安全なものは何ですか?

ありがとう

4

1 に答える 1

5

「エンベロープ テクノロジー」の選択は、セキュリティには影響しません。セキュリティ アーキテクチャの用語では、プレーンな php ページ、REST のようなアーキテクチャ、および SOAP サービスはすべて同じです。同じチャネルを介してまったく同じ情報を送受信しています。それはちょうど別の方法でラップされています。追加の保護は提供されません。

認証情報については、Web サーバーのドキュメント ルートの外部にあるファイルに保存することをお勧めします。これにより、別の脆弱性により Web サイト ファイルの列挙または読み取りが許可された場合に、危険にさらされる可能性が制限されます。PHP プログラムrequire_onceで資格情報ファイルを作成できます。

ユーザーが自分に固有の情報を保存できる場合は、認証と承認を使用して、あるユーザーが別のユーザーに代わって行動できないようにする必要があります。

ああ、GET リクエストによるデータの変更を許可しないでください。すべての状態変更または破壊的なアクションは、POST 要求でのみ実行できることを要求します。これにより、リクエストを事前にキャッシュする、またはリクエストをリプレイするユーザー エージェント/プロキシや、サイトをブラウズするユーザー/検索ロボットによるデータの損傷のリスクが制限されます。

于 2012-05-15T14:19:59.217 に答える