我想知道是否有人能在这里为我指明正确的方向?
我有一个在iOS和Android上运行的移动应用程序,它可以将分数提交给一个网站/服务,在那里顶级玩家可以获得奖品。
网络服务需要绝对确保提交分数的玩家确实在玩游戏,而不仅仅是为了排名第一而提交提高的分数。
实现这一目标的最佳方式是什么?
您应该使用密钥或令牌来识别真正的玩家。当他们在你的服务器上创建帐户时,发送回一个唯一标识该玩家的令牌。每次他们使用你的web服务提交分数时,如果他们的令牌有效,请向他们发送一个不同的令牌,并跟踪你下次提交的内容,如果出于任何原因,你收到了错误的令牌,你可以返回一个错误字符串,或者干脆不更新分数。
你应该记录哪些账户正在访问你的服务,以及何时访问,这样你就可以发现是否有人试图破坏你的WS,如果有任何不合法的分数通过(如果你使用代币,这是非常可疑的),那么你可以采取适当的措施。
如果我正确理解你的问题,我的想法是:
每个用户都应该有自己的令牌,只有需要传递给服务的应用程序才知道。此外,应用程序应该发送一些MD5哈希值,即分数+日期+一个可以在服务器上验证的随机字符串。