0

ユーザースコアをmysqlテーブルに送信するJavaアプリケーションがあります。ユーザーが完了すると、Javaアプリがサーバー上の.phpファイルにアクセスし、.phpサーバーがデータベースに対してクエリを実行します(スコアの挿入)。

このメソッドの(不)セキュリティについて心配しています。つまり、誰かがサーバー上の.phpへの直接URLを見つけた場合、dabaseで多くの混乱を引き起こす可能性があります。.phpがJavaアプリからアクセスされる以外のクエリを実行しないようにする方法を教えてください。

編集:問題は、Javaアプリケーションがサーバー上で実行されておらず、JavaWebLauncherプラットフォームを使用してユーザーコンピューター上で実行されていることです。つまり、アプレットではありません...

4

1 に答える 1

0

問題は概念的なものです。ユーザーが実際のアドレスを見つけられないようにする必要があります (あいまいさによるセキュリティ)。SSL を使用することもできますが、これは推測に反する手段ではありません。

Java プログラムはクライアント側で実行されるため、特定の IP へのアクセスを制限する .htaccess もオプションではありません。

私の提案は、mysqlで別のユーザーを作成し、このユーザーに必要なテーブルへのアクセスのみを許可し、このユーザーに代わってJavaで直接データベースクエリを実行することです。この方法では、すべてのデータが暗号化され ( http://dev.mysql.com/doc/refman/5.5/en/ssl-connections.htmlを参照)、URL/アクセス ポイントは公開されません。もちろん、これは MySQL サーバーが外部から到達可能でなければならないことを意味し、リスクも伴います。適切なルート パスワードが必要です。

于 2012-11-20T14:30:58.090 に答える