我知道你们中的一些人只是觉得这是一个完全错误的问题,但我有一些这样的要求,这就是我提出这个问题的原因。我知道浏览器会在客户端下载javascript,因此很难隐藏它。
所以现在我有一个完全用jquery编写的游戏代码,我希望用户无法看到完整的代码,因为:
游戏的拥有者不希望向用户显示游戏代码。
如果一个聪明的用户仔细阅读代码,那么他/她可能能够解决这个难题(这是一个益智游戏)。
所以,使用谷歌闭包编译器或yui压缩器使代码不可读是否足够好?是否符合上述要求?
如果您认为在这种情况下无法做到这一点,请建议我采用其他任何方式。我是否需要将游戏代码完全重写为服务器端语言,然后使用某种工具将其转换为js?
答案 0 :(得分:1)
Javascript是一种客户端语言,为此,您始终需要向用户显示代码。
你可以做的是压缩和缩小......
与所有Javascript框架相同,检查this original version并与minified and compressed version进行比较
答案 1 :(得分:0)
这不是一个完美的解决方案,只是一个选项:您可以通过AJAX请求从服务器获取实际的javascript代码并使它们可运行,例如。通过eval() - 他们。
这仍然不会完全隐藏代码,但这会使源代码本身不可见。
顺便说一下,混淆源是另一种使代码不可读的做法。
答案 2 :(得分:0)
我建议不要在js中使用整个游戏(即下载到客户端)。无论你做什么来混淆代码,有人会弄明白并发布它。将所有游戏逻辑和谜题放在服务器端,使用某种类型的rpc调用。这可以是简单的PHP脚本,如果解决方案增量正确,您可以将ajax消息发送到该脚本。然后php脚本会查找答案并返回响应。当然它不一定是php,使用你熟悉的任何服务器端技术。