1

Java アプリケーションから Web サイトのデータベースに情報を安全に送信する方法が必要です。私は現在、Java の URLConnection から投稿されたパラメーターを受け入れ、データベースを更新する PHP ページをサーバー上に持っています。私が恐れているのは、誰かがそれを逆コンパイルすると、正確な URL とパラメーターが見られるのではないかということです。私はこの種の開発に慣れていないので、より良い/安全な方法を知りません。

データベースにデータを取得するためのより適切または安全な方法は何ですか?

4

3 に答える 3

1

私がよく理解していれば、誰かがあなたのコードのURL、ユーザー名、パスワードを見つけて、これらのパラメーターを使用してデータベースに接続するのではないかと心配しています。ネットワーク層でのその誤動作を防ぐことができます(つまり、ファイアウォールを構成することにより、IPアドレスのみがデータベースにアクセスできるようにします)。ファイアウォール/ルーターの構成を変更できない場合は、データベースの構成を変更します。たとえば、PostgreSQLにはファイルpg_hba.confがあり、アクセスを許可するIPアドレスのリストを指定できます。ただし、データベースへの接続を使用するSQLインジェクションなどの他の脆弱性を防ぐ必要があります。

于 2012-08-10T11:32:21.263 に答える
1

アプリケーションにデータベースへのアクセスを許可したい場合、アプリケーションの動作をシミュレートするアプリケーションが同じアクセス権を持つことを 100% 防ぐことはできません。限目。パターンを見つけにくくすることしかできません。

サーバー (この場合は php ドキュメント) に取得したすべての入力を検証させて、悪い動作を排除することをお勧めします。PHP がクエリを生成し、クライアント アプリケーションがユーザー名、パスワード、その他の情報などの必要なデータのみを送信するようにします。あなたのphpでは、期待するデータだけでなく、すべてが送信されるように準備する必要があります。準備済みステートメントを使用して SQL インジェクションを防ぎ、正規表現を使用して与えられた入力をサニタイズします。

于 2012-08-10T10:43:02.687 に答える
1

その音から、Java プログラムを使用して PHP/サーバーに接続します。接続のセキュリティが心配な場合は、HTTPS を使用して SSL 接続を確立できます (例はこちら) 。

また、サーバーがクライアントから何らかのキーを要求するチャレンジ/レスポンス プロトコルを確立することもできます。これは、これらで暗号化されたメッセージを含む一連の公開/秘密キーを使用して、誤った入力要求の可能性をさらに減らすことができます。

于 2012-08-10T17:07:26.823 に答える