在编写客户端 (js) 的游戏中,其中有多人游戏元素,例如排行榜。将用户操作记录到带有时间戳的事务日志以验证提交数据的完整性的最佳方式是什么,以及如何验证此日志中的操作?
是否有必要这样做,或者编写一个向服务器提交分数并混淆代码的哈希函数就足以防止这种作弊?
编辑 - 游戏说明:
在这个游戏中,你在一张 50 格长的地图上行走。在每个图块上,您都会遇到敌人/城镇/事件(寻找硬币等)每次到达地图的尽头时,都会加载一个难度稍高的新地图。这个难度与玩家和他从城镇购买的物品一起被保存(在 MYSQL 数据库上使用 PHP)。这些物品的功率整数取决于它们的统计数据(dmg/hp/防御等)。物品的功率被求和并被保存。
功率、阶段(难度)和用户名是前 10 名玩家的排行榜中显示的内容,按最高功率排序。