0

ユーザーデータベースとハイスコアデータベースを維持するために、PDO PHPスクリプトでMySQLを使用しています。ユーザーが Android アプリで新しいハイスコアを取得すると、それをサーバーに送信します。

https://domain.com/phpscript.php?user=username&newhighscore=highscore

ここで、username と highscore は変数です。すべての Web ブラウザーがこの URL にアクセスできます。誰かが私のアプリを逆コンパイルすると、データベースの場所がわかり、ハイスコアを偽造できます。URL の難読化と暗号化は、常に元に戻すことができるため、おそらくオプションではありません。

これらの URL を保護して、ブラウザーだけでなく、Android アプリのみがこれらのページにアクセスできるようにする方法はありますか?

4

1 に答える 1

0

ユーザーのハイスコアを更新するために必要なのが呼び出しhttps://domain.com/phpscript.php?user=username&newhighscore=highscoreだけである場合、あなたは深刻な混乱に陥っています。

ある種の認証が必要です。これは、「私の Android アプリのみがこれらのページにアクセスできる」という意味です。いくつかのアイデアを次に示します。

  • アプリの最初の起動時に、別のスクリプトを呼び出して、トークンの交換を容易にします。このトークンをアプリとサーバー側の DB に保存し、検証トークンとして使用します。たとえばhttps://domain.com/phpscript.php?user=username&newhighscore=highscore&salt=abc&auth=xyz、abc はランダムなソルトで、xyz は次のようになります。hash(encrypt("user=username&newhighscore=highscore",key=token,iv=salt)+salt)

  • 認証方式の一部として電話 ID を使用する

于 2012-06-16T15:21:10.080 に答える