2016-03-18 30 views
0

我正在从事网站的用户可以玩javascript游戏。我一直在网上学习js,但我远不是专家。为了防止在游戏中作弊,我已经实现了所有使用php和会话变量的逻辑。现在我的问题是:用户可以使用js注入多少?Javascript注入限制?

我知道它可以用来编辑/查看变量和值,但用户可以尽可能注释掉我已写的函数并编写自己的函数吗?如果这是可能的,那么似乎没有办法防止作弊。

回答

0

是的,他们实际上可以。你无法防止作弊客户端,这就是为什么你需要强大的逻辑服务器端。

如果你看看像greasemonkey或tampermonkey这样的项目,这些扩展允许你轻松地将javascript注入任何网站。

那该怎么办?

数值必须在服务器端:金钱,马力,法力值,转数,屏幕上显示的重要事物的数量。然后,当客户向您发送行动时,您必须检查逻辑:他可以在哪里获得这笔钱?

基于时间的动作也是一个很好的衡量标准:他每秒做多少动作?为什么他花了10分钟回答1分钟测试?

这是伪伪代码,因为我不知道你的游戏的性质,但它应该让你开始。

+0

是的,我用代码保存了所有值的服务器端,以检查是否可以如此迅速地获得如此多的点。我正在试验一个简单的蛇游戏,并且保护作用似乎很稳固。我担心的是有人写自己的js功能来自主玩游戏,尽可能做出最好的动作,而且不会撞到墙上。 – Jay

+0

你正在做一个简单的游戏。它会被骗。大公司的复杂模型也被机器人欺骗了,没有什么值得惭愧的。 – Aschab