0

我正在做一些研发来定义开发以 html5 作为浏览器前端的多层应用程序所涉及的所有技术。

现在我计划用html5 css js编写所有客户端,有一个中间层,我的“真实”代码无论如何都安全地在服务器端,无论如何出于不同的原因,可能有理由在我的网页中隐藏javascript。

缩小它是一种降低可读性的方法,但是有没有一种简单的方法来“隐藏源”?

js 文件通常位于 webfarm 上,但在相同的情况下会有企业安装,这就是为什么我正在研究一种“隐藏代码”的方法。

谢谢。

4

3 回答 3

5

不,你不能隐藏 JS 源代码。如果有人想看看你的 JS 源代码,他们将能够做到。

缩小+混淆是您可以做的事情。请注意,这些技术不会保护您的源代码,它们只会使您难以阅读您的源代码。

于 2013-02-11T11:51:51.240 回答
3

缩小 JavaScript 不会以任何方式隐藏它,任何开发人员都可以在几秒钟内重新格式化它。

根据定义,没有办法隐藏您的 JavaScript。任何可供浏览器执行的代码都可供用户阅读。

于 2013-02-11T11:52:38.360 回答
3

你不能隐藏你的 JS。只要它是从您的服务器下载的,它将始终可见。

你可以使用一些技巧来让别人更难阅读你的代码。这些包括:

  1. 缩小和混淆(就像你指出的那样)。在 googleClosure 中使用同意模式会使代码很难阅读。
  2. 用服务器端插入客户端代码。
  3. 使用 AJAX 获取部分客户端代码

这只会使“逆向工程”变得更加困难,而不是不可能,特别是如果有人有足够的耐心来遵循面包屑。


更新:有另一种方法可以“隐藏”您的代码。在支持扩展的浏览器中,您可以开发具有大多数应用程序核心功能的扩展,并使用 JS 与代码进行交互。大多数浏览器都支持带有外部 dll 的扩展。但是,这将“强制”您的用户下载您的扩展程序以使用您的 web 应用程序,这可能不是一个好主意。

于 2013-02-11T11:58:08.257 回答