我知道客户端代码必须可以从浏览器中读取,但我想知道(因为我忽略了太多的事情)是否有办法向最终用户混淆代码,如果没有,“打包”的最佳实践是什么? ” JavaScript 代码。

有帮助吗?

解决方案

这是很好的做法与一个工具来缩小你的JS如锐压缩机。除非你有特殊需要做到这一点,我不会混淆了。有大量在线混淆器例如这一个

请参阅这篇文章: http://developer.yahoo.net/博客/存档/ 2007/07 / high_performanc_8.html

其他提示

检查的出

除了min'ing它,我不认为你可以真正隐藏的js。这一切都在用户的浏览器,并有大量的看到它一旦它的存在方式。

请参阅这里免费的JavaScript混淆。

由于它实际上是可能的,如果你打算混淆的原因是为了保护知识产权,你可能想从你的工作错误的方式获得价值。这也很容易扭转混淆,你很可能会浪费时间维护你的代码。

更多关注什么样的服务,你打算提供给那些谁访问您的网站为手段,以区别于竞争对手的网站

工具可能被用于压缩JavaScript代码,并使其难以为最终用户理解。

时有一个原因,这将不会为你做的伎俩?

http://www.javascriptobfuscator.com/

不要把任何敏感或个人信息中的JavaScript。

在花费在保持服务器的安全上的数据的时间。

步骤1:不要

您将不得不做很多事情来达到混淆的任何有意义的水平。单独混淆的名称是不够的,因为所有的标准功能仍然会在那里(虽然可埋在较短/混淆的别名层),而一旦代码被很好地格式化获得特定功能的目的是很容易再次。如果谁真的想知道你的JS代码做什么就可以了,会的,无论你的浏览器之前,做它什么得到它的拷贝。

如果您的真正的有宝贵的业务流程,在你的JavaScript,那么你就错了(TM)。

没有混淆是要保持你的代码真正安全的,它可能只是给你安全的假象(见的通过隐匿安全性)。

如果你需要保持你的秘密代码的某些部分,可以考虑拉敏感部分到服务器端脚本,使(比方说)AJAX调用脚本。特别是随着JSON的出现,与服务器端脚本通信从未如此简单。

可以使用以下工具:

  • YUI 压缩机 - 需要 Java - 非常好的压缩器

  • Packer - 创建最混乱、最小的代码,但脚本运行速度不如 YUI - 不过可以在线使用。选择“Base62 编码”以获得最佳效果。

  • Dojo 压缩机 我从未使用过这个,但它位于首选列表中。它还需要 Java。

  • JSMIN 作者:Douglas Crockford,这个算法有一个非常简单的算法,但它仍然很好。旨在与 JSLint 结合使用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top