2013-03-28 55 views
-1

我需要建立一个基于网络(HTML/JS)的游戏,其中用户赚取/得分点。在游戏结束时,用户在表单上输入他们的详细信息,并将其与他们的分数一起提交给服务器(通过ajax post)以存储在数据库中。如何防止基于Web的游戏被黑客攻击?

根据积分排名有一个排行榜和奖项元素。

我的问题是,我怎样才能防止用户黑客入侵这个游戏?我认为有人可以使用浏览器的开发工具或像提琴手这样的Web代理轻松地改变发布到服务器的积分/分数值。这个奖项相当不错,所以值得有人时间去尝试破解它。

进出口寻找一个坚实的解决了这个,而不是只是一些“让它更难破解”回答

+0

尽量使其部分服务器端 – 2013-03-28 00:07:04

+4

我不知道这个问题是如何在Q&A的设定回答的,因为有可能的攻击向量无限多个。 – 2013-03-28 00:07:08

+0

如果游戏运行在客户端上,那么就没有真正的解决方案,只能通过默默无闻的安全方式。 – nwellnhof 2013-03-28 00:07:10

回答

3

您需要编写一个函数,在整个游戏中将玩家移动发送到服务器。然后在服务器上,您需要检查移动是否可行。

您还需要在整个游戏和游戏结束时跟踪游戏得分,确保提交的值不会高于您的记录值。你应该允许一些宽容。

实际的代码是非常具体的游戏。

希望这有助于

+0

这很有道理。虽然复杂。 – 2013-03-28 00:24:37

+0

我认为回合制策略游戏比实时游戏更简单。所以,是的,它非常依赖游戏。 – 2013-03-28 00:27:25

2

我不知道它是什么类型的游戏,但你可以添加一些东西,使得它如此,如果你会在很短的时间内获得一定数量(这是不可能的,除非黑客),你不能进入高分。并让它成为服务器的一面。要做分数限制,你可能会一举一动,如果分数超过一次移动所能获得的最大分数,那么它不允许你使用高分。

+0

是的,限速。这是我认为唯一可行的解​​决方案。 – 2013-03-28 00:23:12