我将开发一个用于在即将发布的IDE中编写的
HTML5 /
Javascript游戏的在线游戏.
当人们玩这些游戏时,游戏将使用Ajax请求到服务器来记录分数.
我理论上可以完全控制这个设计,包括记录高分,游戏代码,一切的代码的机制.
我知道攻击像这样的客户端游戏或欺骗高分是绝对不可能的,但是我想让它变得足够困难,以便任何有能力的人都不会被打扰(一厢情愿).
我读了:
How can you prevent bogus high scores from appearing on a global high score list?
这是一个稍微不同的问题,因为这是HTML / JS特定的.
我最初的想法是ajax请求检查请求的来源是否来自正确的位置,这对于大多数黑客攻击来说是一个简单而有效的块.
解决方法
正如之前的回答所述,您无法信任客户,因此您最好的选择是将游戏分成某种级别并使服务器控制级别进展.如果服务器正在跟踪每个客户端及其进展,则可以限制可实现的分数范围.这使得欺骗更加繁琐,因为客户必须模拟通过每个级别并在正确的分数范围内指示成就.