代码之家  ›  专栏  ›  技术社区  ›  Harmen

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

  •  10
  • Harmen  · 技术社区  · 15 年前

    HTML5将被广泛采用作为游戏设计的一种方式,这是预言。但我有我的问题: 一个在线HTML5游戏怎么可能是安全的

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

    我没有办法阻止这个黑客获得他的徽章。。。有什么办法能让这个游戏安全吗?

    3 回复  |  直到 15 年前
        1
  •  4
  •   Sasha Chedygov    15 年前

    是的,如果你这样设计你的游戏,它会很容易被破解。但为什么这是特定于HTML5的呢?你可以用这样写的任何类型的游戏。即使使用本机桌面游戏,您仍然可以伪造请求。唯一的区别是,伪造HTTP请求比桌面游戏的反向工程请求更容易。

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

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

        2
  •  2
  •   Kylotan    15 年前

    它和任何基于Flash的游戏没有什么不同,或者说是一款拥有可下载客户端的游戏,比如魔兽世界。任何与游戏公平性不可分割的东西都必须在服务器上处理。

        3
  •  1
  •   Jon Nichols    12 年前

    不,这并不能解决你所有的问题,最精明的玩家也有办法解决这个问题(取决于你的变化有多复杂),但它确实提供了一些方法来解决这个问题,特别是如果你的游戏需要大量投资的话。如果玩家觉得有可能被抓,他们可能不愿意冒险取得进步。只要确保你有一个明确的行为准则,详细的惩罚作弊。