如何确保我在服务器的http请求中发送的数据实际上是由我的应用程序(移动应用程序)生成的,而不是由用户手工制作的?
例如:如果我有一个游戏并且我想将用户的分数提交给服务器,那么如何确保用户没有看到请求数据并开始向服务器发送手工制作的分数?
我考虑过将哈希算法与app密钥一起使用。因此请求将发送四个数据:分数,日期,用户ID和散列(分数+日期+用户ID + secret_key)。然后,我可以在服务器上再次执行此哈希操作并验证数据是否合法。但是,我如何保护自己免受黑客能够反汇编应用程序并查看secret_key的情况? 除了使用哈希码签署请求之外,还有更好的方法吗?
答案 0 :(得分:4)
简短的回答,你不能。用户可以通过应用程序执行的任何操作,都可以通过对应用程序进行逆向工程并执行其操作来完成。你所能做的就是让事情变得更难。