我们目前正在为一个在线门户制作WebGL游戏,然后奖励用户从游戏得分中获得的积分。评分以邮政服务的形式发送给WebServer,最近我们遇到了用户以某种方式篡改分数的情况。知道怎么保护这样的东西吗?这类产品的标准行业实践是什么?我们如何验证服务器上的分数?任何帮助都将不胜感激。
发布于 2015-10-13 21:12:09
这类产品的标准行业实践是什么?我们如何验证服务器上的分数?
这取决于你的用户对技术的了解程度。他们篡改数据的一种简单方法是使用(截取)代理来拦截传出通信量,并篡改得分值(TLS不能阻止这一点)。
防止篡改和验证请求真实性的行业实践之一是使用JWT。JWT广泛用于REST的身份验证管理,但是它也可以帮助解决您的问题。JWT对所有请求签名,对传输中的数据的任何修改都将使其在服务器上失效。
记住,正如我上面提到的,这取决于您的用户的技术水平。使用JWT只在请求离开您的应用程序时才停止对它们的篡改。在极少数情况下,用户仍然可以直接访问内存并修改某些内容(例如,更改游戏功能、覆盖属性等)。
发布于 2015-10-13 16:03:08
如何做到这一点:
当然,这可能会有一些问题(如果他们可以创建自己的bcrypt分数之类的,并弄清楚如何正确地连接它),在这种情况下,简单的修复是改变成本,以及如何连接(实际上,这可以自动地每天发生)。很简单。很简单。好了。
https://security.stackexchange.com/questions/102599
复制相似问题