我需要建立一个基于网络的(html / js)游戏,用户可以获得/得分。在游戏结束时,用户在表单上输入他们的详细信息,并将其与他们的分数一起提交给服务器(通过ajax post)以存储在数据库中。
根据积分排名,有一个排行榜和奖励元素。
我的问题是,如何阻止用户攻击此游戏?我认为有人可以使用浏览器的开发工具或像fiddler这样的网络代理轻松改变发布到服务器的积分/分数值。对此的奖励是相当不错的,所以值得有人花时间试图破解它。
我正在寻找一个可靠的解决方案,而不仅仅是一些“让它更难以入侵”的答案
答案 0 :(得分:3)
您需要编写一个功能,在整个游戏过程中将玩家移动到服务器。然后在服务器上,您需要检查是否可以移动。
您还需要在整个游戏中跟踪游戏分数,并在游戏结束时确保提交的值不会比您记录的值高很多。你应该允许一些宽容。
实际代码非常适合游戏。
希望这有帮助
答案 1 :(得分:2)
我不知道它是什么类型的游戏,但你可以添加一些东西,如果你在短时间内获得一定数量(除非黑客攻击是不可能的)你不能进入高分。并使其服务器端。为了进行分数限制,你可能会在每次移动时都进行一项功能,如果分数超过了1次移动中获得的最大值,那么它就不允许你使用高分。