缩小JavaScript是保护源代码的唯一方法吗?

时间:2013-02-11 11:38:03

标签: javascript

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

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

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

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

感谢。

3 个答案:

答案 0 :(得分:5)

不,你无法隐藏JS源代码。如果有人想看看你的JS资源,他们就可以。

缩小+混淆是你可以做的事情。请注意,这些技术不会保护您的来源,只会让您难以阅读来源。

答案 1 :(得分:3)

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

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

答案 2 :(得分:3)

你无法隐藏你的JS。只要从服务器下载,它就会始终可见。

您可以使用某些技术让某人更难阅读您的代码。其中包括:

  1. 缩小和混淆(就像你指出的那样)。在googleClosure中使用agreesive模式会使代码难以阅读。
  2. 在服务器端插入客户端代码。
  3. 使用AJAX获取客户端代码的一部分
  4. 只有当有人耐心地遵循面包屑时,这才会使“反向改造”变得更难,而不是不可能。


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