"浏览器游戏的未来"有多安全?

Har*_*men 10 javascript security html5

HTML5将被广泛采用作为设计游戏的一种方式,是预测.但我对此有疑问:在线HTML5游戏怎样才能安全

让我举个例子:想象一下这个平台游戏,你赢得徽章,例如,一个非常难的水平.当您实际赢得此徽章时,会向服务器发出请求,以便更新您的在线个人资料.对于黑客来说,只要发送此请求并获得徽章,而不玩真正的游戏,这不是非常简单吗?因为:

  • 客户端源代码是可见的,无法隐藏
  • 可以从命令行执行Javascript

我没有办法阻止这个黑客获得他的徽章......有没有办法让这个游戏安全?

Sas*_*gov 4

是的,如果你这样设计你的游戏,它就会很容易被黑客攻击。但为什么这是 HTML5 特有的呢?你可以用这样编写的任何类型的游戏来做到这一点。即使使用本机桌面游戏,您仍然可以伪造请求。唯一的区别是伪造 HTTP 请求比桌面游戏发出的逆向工程请求更容易。

解决方案是为胜利添加某种“验证”——实际的算法会因游戏而异。也许让服务器在用户玩游戏时跟踪游戏的进度。例如,如果这是一场国际象棋游戏,您可以将每一步棋发送到服务器并验证这些棋步以确保它们正确运行。不过,对于实时游戏来说,这会变得更加复杂。

但无论你决定使用什么算法,它都会被击败。甚至我刚才提到的国际象棋验证也可以被绕过:您可以“创建”自己的有效国际象棋游戏,然后每次都将相同的动作发送到服务器,以确保游戏有效。(这是假设玩家与计算机对抗——让两个人互相对抗会让事情变得更容易。)