我需要一个系统来发布javascript游戏的高分,但这很难被愚弄

我需要一个系统来发布javascript游戏的高分,但这很难被愚弄,javascript,ajax,http,canvas,Javascript,Ajax,Http,Canvas,我一直在开发一些Javascript/Canvas游戏,并一直试图找到一种存储游戏状态和数据的方法,例如高分 最简单的方法当然是通过http请求将高分发布到服务器上,但这很容易被愚弄,人们可以自己发出http请求,瞧,你现在是冠军了 我在问stackoverflow你是否有解决这个问题的方法。这是一个棘手的问题,因为javascript代码在客户端计算机上运行,并且是人类可读的 我提出的唯一可能的解决方案,或者更确切地说,是威慑,是混淆javascript代码,这使得高分帖子(其中包括一个校验和

我一直在开发一些Javascript/Canvas游戏,并一直试图找到一种存储游戏状态和数据的方法,例如高分

最简单的方法当然是通过http请求将高分发布到服务器上,但这很容易被愚弄,人们可以自己发出http请求,瞧,你现在是冠军了

我在问stackoverflow你是否有解决这个问题的方法。这是一个棘手的问题,因为javascript代码在客户端计算机上运行,并且是人类可读的

我提出的唯一可能的解决方案,或者更确切地说,是威慑,是混淆javascript代码,这使得高分帖子(其中包括一个校验和/魔法常量)至少让系统更难玩游戏


你有更好的想法吗?

在这种情况下,解决方案是不保存分数,也不将分数传输到任何地方

取而代之的是,按需计算,只缓存以供显示。当需要高分报告时,传入影响分数的多个因素,并对其进行加密


然后服务器将解密消息,并自行重新计算分数。

什么会阻止用户在游戏中直接编辑JavaScript变量?疯狂的建议:您可以在游戏过程中使用私有服务器端密钥和公共客户端密钥将分数相加,然后在提交时在服务器端验证提交的值。即使您这样做了,也无法阻止攻击者重复运行您的
addPointsToScore
函数。例如,见。我想,如果突然出现一些未知的新技术,时不时地重新提问是件好事