【问题标题】:How to protect code in HTML5/Canvas game?如何保护 HTML5/Canvas 游戏中的代码?
【发布时间】:2013-06-10 18:13:19
【问题描述】:

在流行的 HTML5/Canvas 游戏中,游戏制造商如何通过在网络浏览器中右键单击页面来防止访问者看到游戏代码?是否所有的游戏代码都在服务器上,而只有一小部分游戏代码在浏览器中,然后服务器和浏览器之间通过 Ajax、Websockets 或其他方式进行某种通信?

我很好奇,想了解更多?我正在使用 Canvas 学习 HTML5 游戏开发,我不想分享我花了这么多时间开发的所有代码。我该如何保护它?

【问题讨论】:

  • 如果您要在网络上工作,请习惯于共享代码。
  • 由于您的大部分游戏代码都在 JavaScript 中,您可以混淆 JavaScript 代码,但不能隐藏其编程逻辑。
  • 开源,人们可以参与到开发中,让你的游戏变得更好
  • 我们需要更多地了解您的游戏,才能判断将任何代码仅放在服务器上是否有意义。同样,如果您正在构建 Web 应用程序,您真的需要让整个“隐藏代码”的事情过去。

标签: html canvas html5-canvas


【解决方案1】:

真的没有办法隐藏它本身。

但是,在完成后缩小代码会使解码变得更加困难(更不用说它在许多浏览器上运行得更快了)。当空格被删除,代码全部被压缩到一行中,变量名被简化为单个字母,源代码中的某些关键内容被删除以进行优化,弄清楚程序员正在用他们的代码完成什么变得越来越困难。

【讨论】:

    【解决方案2】:

    没有办法向最终用户隐藏您的 javascript。

    为了执行它,它必须由用户的网络浏览器加载。当它在用户机器上时,用户可以查看它。

    您可以使用混淆器来使您的代码更难阅读,但只要它对浏览器可读,它对于有决心的人来说也是可读的。要么接受它,要么将您的关键商业机密转移到服务器端代码,并通过 AJAX 或 Web 套接字与其通信。

    【讨论】:

    • 感谢您的回答。我想更多地了解如何在游戏的某些部分使用服务器端代码。但我不确定结构会是什么样子。我可以仅在服务器上的 PHP 页面上运行 javascript,我可以将 Ajaxs 和 Web 套接字用于什么类型的“事物”?我会搜索什么以获取有关此的更多信息?
    • 您应该搜索“AJAX”和“Web Sockets”。它们基本上是从服务器到浏览器来回发送数据的一种方式。这对你的游戏有意义吗?这完全取决于您所谈论的游戏类型。
    猜你喜欢
    • 2018-05-22
    • 1970-01-01
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    • 2015-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多