保护客户端>数据库游戏

时间:2012-05-25 00:54:26

标签: javascript jquery mysql security phpmyadmin

好的,我正在使用JavaScript和HTML5创建游戏。 mapxylevelexp等变量存储在JavaScript中以便跟踪。在我的客户端页面上,JavaScript变量被存储起来以与游戏一起玩。客户端页面每隔5秒向POST数据库发送一个MySQL AJAX调用,并成功更新它。

但是,用户可以轻松修改JavaScript变量并在游戏中欺骗他们。然后,一旦他们编辑了JavaScript变量,POST就会抓取并更新它,即使他们不道德地编辑了它。

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

2 个答案:

答案 0 :(得分:3)

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

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

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

在您的情况下,某人可能仍然可以在低于特定阈值的水平“游戏系统”。从小处开始,在分析数据时,您会发现更多可以实现此类数据验证的区域。

答案 1 :(得分:2)

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