【发布时间】:2011-06-12 08:41:07
【问题描述】:
由于最近浏览器的增强,使用 canvas 和 javascript 开发游戏已成为一个不错的选择,但现在代码很容易访问,只需编写即可
javascript:score=99999
或
javascript:lives=99
会破坏游戏目标。
我知道通过一些服务器端检查可以完成某些事情,但我更愿意访问服务器只是为了在最后存储玩家统计数据,或者在大多数情况下甚至只使用客户端。
我想知道是否至少有一些最佳实践可供开始。
(使用不那么明显变量名称是一个开始,但还不够)
-已添加-
感谢您的回复,我正在寻求改进客户端代码,足以阻止“临时黑客”,但仍使代码尽可能干净。 任何真正想要破解它的人无论如何都会成功,即使通过服务器端检查,正如我在许多 Flash 游戏中看到的那样。
【问题讨论】:
-
理论上不可能,但我更喜欢的方式是
(function(){/*insert your code here*/}());。 -
更好的问题要问:你真正想防止谁和什么?谁是您的受众,为什么防止作弊对您的目标很重要?最后,您可能想问,他们是否作弊真的很重要(如果他们真的想的话);最终可能会允许修改甚至可以为您的受众改进您的产品。
-
例如:整个网站都使用经过修改的 Flash 游戏进行欺骗,并获得广告支持的收入。那里有市场。既然您甚至可以从中受益,或者阻止其他人从您的客户缺乏技术知识中受益,为什么还要费心去阻止它?
-
你是对的,在大多数情况下,这根本不是问题,只是想一个简单的在线记分牌。作弊会让它毫无用处。
标签: javascript