我如何确保我通过 http 请求发送到服务器的数据实际上是由我的应用程序(移动应用程序)生成的,而不是由用户手工制作的?
例如:如果我有一个游戏,我想将用户的分数提交给服务器,如何确保用户看不到请求数据并开始向服务器发送手工制作的分数?
我考虑过将哈希算法与应用 key 一起使用。因此请求将发送四段数据:分数、日期、用户 ID 和哈希值(分数+日期+用户 ID+secret_key)。然后,我可以在服务器上再次执行此哈希操作并验证数据是否合法。但是,如果黑客能够反汇编应用程序并查看 secret_key 是什么,我该如何保护自己呢? 除了使用哈希码对请求进行签名之外,还有更好的方法吗?
最佳答案
简短的回答,你不能。用户可以通过应用程序做的任何事情,他们都可以通过对应用程序进行逆向工程并做它会做的事情来做。您所能做的就是让他们的事情变得更难。
关于mobile - 如何确保 http 请求不是手工制作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22739495/