如何确保服务器调用来自我的应用程序



我为Android和iOS开发游戏已经有一段时间了。它使用LAMP服务器后端。

有人告诉我,一旦我构建了游戏,从.apk中提取信息会很容易。我试过了,确信我可以在那里找到我的网络呼叫功能和服务器密码。

我确保只有我的应用程序才能调用服务器的方法是通过SSL使用HTTPPOST来传递密码。如果密码与服务器的密码匹配,则呼叫将获得批准。之后,服务器检查实际用户的ID和密码,并获取他们的数据等。

游戏第一次启动时,服务器将为玩家创建一个配置文件。我原以为这是安全的,但现在我知道任何人都可以提取我的.apk并重新打包,然后使用我的服务器作为后端,因为他们有密钥。

我到底该如何保护我的服务器免受类似的攻击?我如何确保只有我的应用程序才能访问我的服务器?

您可以使用SafetyNet认证API来检查服务器端的应用程序包名称:

https://developer.android.com/training/safetynet/attestation

  1. 实现教程中的所有内容
  2. 在服务器端,谷歌回复后,检查应用程序的包名是否与您的包名匹配

最新更新