我知道客户端代码必须可读,但是我想知道(因为有太多的事情我不知道),是否有办法对最终用户进行代码混淆,如果不行的话,最佳实践是如何“打包” JavaScript 代码。
我知道客户端代码必须可读,但是我想知道(因为有太多的事情我不知道),是否有办法对最终用户进行代码混淆,如果不行的话,最佳实践是如何“打包” JavaScript 代码。
请参阅此文章:http://developer.yahoo.net/blog/archives/2007/07/high_performanc_8.html
请查看这里。
除了压缩,我认为你无法真正隐藏js。所有内容都会传输到用户的浏览器,一旦到达那里,就有很多方法可以查看它。
点击这里获取免费的JavaScript混淆器。
如果您打算进行代码混淆以保护知识产权,那么您可能是在错误的方向上从您的工作中获得价值。很容易破解混淆代码,而且您可能会浪费时间来维护它。
更应该关注为访问您网站的人提供什么样的服务,以区别于竞争对手。
不要在 JavaScript 中放置任何敏感或个人信息。
花时间保护服务器上的数据安全。
步骤1:不要这样做。
要实现任何有意义的混淆水平,您需要做很多工作。仅仅混淆名称是不够的,因为所有标准函数仍然存在(尽管它们可能被埋在更短/混淆的别名层中),并且一旦代码再次格式化,推导出特定函数的目的就很容易了。无论您在浏览器获取副本之前对其进行了什么处理,真正想知道您的JS代码执行什么操作的人都可以轻松地了解到。
如果您的JavaScript确实具有有价值的业务流程,则您正在错误地使用它。
没有混淆能够真正保护您的代码安全,它可能只会给您虚假的安全感(参见安全性通过混淆)。
如果您确实需要保密部分代码,请考虑将敏感部分提取到服务器端脚本中,并进行(例如)AJAX调用。特别是随着JSON的出现,与服务器端脚本的通信变得更加容易。
可以使用以下工具:
YUI Compressor - 需要Java - 压缩效果非常好
Packer - 创建最混乱和最小的代码,但脚本运行速度不如YUI快 - 可以在线使用。选择“Base62编码”以达到最大效果。
Dojo Compressor - 我从未使用过这个,但它在排名榜上。它也需要Java。
JSMIN - Douglas Crockford开发的,这个压缩器有一个非常简单的算法,但仍然很好。建议与JSLint一起使用。