1

好的,我正在使用 JavaScript 和 HTML5 创建游戏。map, x, y, level,等变量exp存储在 JavaScript 中以进行跟踪。在我的客户端页面上,JavaScript 变量被存储以与游戏一起玩。每 5 秒,客户端页面向数据库发送一个POSTAJAX 调用,MySQL并成功更新它。

然而,用户可以轻松地修改 JavaScript 变量并在游戏中作弊。然后,一旦他们编辑了 JavaScript 变量,POST即使他们不道德地编辑它,他们也会抓住并更新它。

那么,我该如何防止这种情况发生呢?

4

2 回答 2

3

不幸的是,没有办法防止客户端代码被恶意方操纵。但是,在许多情况下,某些行为可能表明可能存在滥用行为。

例如,如果我可以通过治疗药水恢复的最大生命值是 100 点,而用户突然增加了 1000 点,那么你就知道存在滥用行为。您的策略应该包括在您的代码中进行检查作为验证,以确保返回给您的应用程序的数据是有意义的。

这个概念很像业务应用程序开发人员可能会做的事情,以确保在 Web 表单中输入的数据得到验证。如果某些值是非法的或不应该提交的,服务器会以错误消息和需要填写哪些字段的说明进行响应。

在您的情况下,某人仍有可能以低于某些阈值的水平“玩弄系统”。从小处着手,当您分析数据时,您会发现更多可以对数据进行此类验证的区域。

于 2012-05-25T01:09:22.693 回答
2

您必须在服务器端监视和分析数据——也许做一些健全性检查,例如确保值没有超出范围,或者它们只改变了一些合理的量。你的问题的问题是你不能阻止用户做他们想做的事,你只需要处理他们给你的东西。

于 2012-05-25T01:09:35.530 回答