0

我使用带有 PDO PHP 脚本的 MySQL 来维护用户数据库和高分数据库。当用户在 Android 应用中获得新的高分时,我将其发送到服务器:

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

在这里,用户名和高分是变量。每个网络浏览器都可以访问此 URL。如果有人反编译我的应用程序,他们将知道我的数据库在哪里,他们可以伪造他们的高分。对 url 进行混淆和加密可能不是一种选择,因为它们总是可以逆转的。

有什么方法可以保护这些 URL,因此只有我的 Android 应用程序可以访问这些页面,而不仅仅是任何浏览器?

4

1 回答 1

0

如果您只需要调用一个https://domain.com/phpscript.php?user=username&newhighscore=highscore来更新用户的高分,那么您就陷入了困境。

您需要某种身份验证 - 这可能是“只有我的 Android 应用程序可以访问这些页面”的意思,这里有一些想法:

  • 在你的应用程序第一次启动时调用另一个脚本来促进一些令牌的交换。将此令牌存储在您的应用程序和服务器端数据库中,并将其用作验证令牌,例如https://domain.com/phpscript.php?user=username&newhighscore=highscore&salt=abc&auth=xyzabc 是随机盐,xyz 类似于hash(encrypt("user=username&newhighscore=highscore",key=token,iv=salt)+salt)

  • 使用电话 ID 作为身份验证方案的一部分

于 2012-06-16T15:21:10.080 回答