【发布时间】:2021-03-16 15:20:29
【问题描述】:
我创建了一个游戏并将分数保存在数据库中。
如您所知,我们可以更改检查元素中的变量并将ner = score更改为ner = 50000,然后玩游戏,它会发布50000分。
我不希望这种改变产生影响。
有什么解决办法吗?
// this is my post code:
ner = score, ter = $("#namesee").val(), $.post("http://localhost/sargarmi/scores.php", { morin: ter, eldo: ner }, function(e) { JSON.parse(e) })
【问题讨论】:
-
混淆您的代码,但您无法阻止这种情况发生。
-
不,那是不可能的。物理访问始终位于特权顺序之上,用户将始终能够使用在其系统上执行的代码做任何他或她想做的事情。您可以通过默默无闻来增加安全性,但它永远不会阻止任何真正尝试过的人。
-
不,没有客户端解决方案,访问者可以访问您页面上的任何脚本和变量,他们可以发送他们想要的任何信息。
-
这是一个经典问题,归结为:您无法信任客户。发送的任何数据都可以修改。让这个有点安全的唯一方法是让服务器进行评分(但显然游戏本身仍然可能被“欺骗”)