我想知道有没有人能给我指个方向?
我有一个运行在iOS和安卓上的移动应用程序,它将分数提交到一个网站/服务,在那里将有奖品可供顶级选手争夺。
web服务需要绝对确保提交分数的玩家已经/正在实际玩游戏,而不是仅仅为了排名第一而提交提高的分数。
实现这一目标的最佳方法是什么?
发布于 2013-07-16 21:06:20
您应该使用密钥或令牌来标识真正的玩家。当他们在您的服务器上创建帐户时,发回一个唯一标识该玩家的令牌。每次他们使用您的web服务提交分数时,如果他们的令牌有效,则向他们发送一个不同的令牌,并跟踪您下一次提交的期望,如果由于任何原因,您返回了错误的令牌,您可以返回错误字符串或干脆不更新分数。
您应该记录哪些帐户正在访问您的服务,以及何时访问,这样您就可以发现是否有人试图扰乱您的WS,如果有任何分数通过,这是不合法的(如果您使用令牌,这是非常值得怀疑的),然后您可以采取适当的措施。
发布于 2013-07-16 20:56:27
如果我没弄错你的问题,我的想法是:
每个用户都应该有自己的令牌,只有需要传递给服务的应用程序才知道。此外,应用程序应该发送一些MD5散列值的分数+日期+一个随机字符串,可以在服务器上验证。
https://stackoverflow.com/questions/17677039
复制相似问题