我明白,客户端代码必须可以从浏览器读取,但我想知道(因为有太多的东西,我忽略),如果有方法混淆到代码的最终用户,如果不是最佳做法是什么“打包”javascript代码。是否可以隐藏或加扰/混淆网页的JavaScript代码?
回答
这是一个很好的做法,使用诸如YUI Compressor等工具来缩小JS。我不会混淆它,除非你有特定的需要这样做。有很多在线混淆器,如this one
看到这篇文章:http://developer.yahoo.net/blog/archives/2007/07/high_performanc_8.html
检查this了。
除了mining它,我不认为你真的可以隐藏js。这一切都发生在用户的浏览器上,并且有很多方法可以在用户浏览器中看到它。
一个免费的JavaScript混淆见here。
鉴于事实上有可能,如果您打算混淆的原因是为了保护知识产权,您可能试图以错误的方式从工作中获得价值。反转混淆非常容易,而且您可能会浪费时间维护代码。
详细了解有关服务,您打算提供给那些谁访问您的网站为手段,以区别于竞争对手网站焦点
有tools可能被用来压缩JavaScript代码,并使其难以结束用户了解。
有没有理由为什么这不会为你做诡计?
不要把任何敏感信息或个人信息的JavaScript。
花费您的时间保证您的数据在服务器上的安全。
步骤1:不要。
为了达到任何有意义的混淆程度,你将不得不做很多事情。仅仅混淆名称是不够的,因为所有标准函数仍然存在(尽管它们可能被埋在一层较短/混淆的别名中),并且一旦代码格式化得很好,推导出特定函数的目的很容易再次。任何真正想知道你的JS代码都能做什么的人,无论你在浏览器获得它的副本之前做了什么,都可以。
如果你真的在你的JavaScript中有宝贵的业务流程,那么你做错了(tm)。
没有混淆会使您的代码真正安全,它可能会给您带来虚假的安全错觉(参见security by obscurity)。
如果您确实需要保留部分代码的秘密,请考虑将敏感部分拉入服务器端脚本并对脚本进行(比如说)AJAX调用。特别是随着JSON的出现,与服务器端脚本的通信从未如此简单。
它可以使用以下工具:
YUI压缩机 - 需要Java - 很不错的压缩机
帕克 - 创建最混乱,以及最小的代码,但脚本不运行与YUI一样快 - 但可以在线使用。选择'Base62编码'以获得最大效果。
Dojo Compressor我从来没有使用过这个,但它在顶级列表中。它也需要Java。
JSMIN道格拉斯克罗克福德,这个有一个非常简单的algorythm,但它仍然很好。意味着与JSLint结合使用。
- 1. c#隐藏混淆
- 2. 是否可以通过代码删除(或隐藏)按钮?
- 3. 是否可以混淆或加密Azure blob名称?
- 4. Javascript代码可以隐藏吗?
- 5. 在html中混淆或隐藏数字
- 6. 可重入代码混淆
- 7. 是否可以使用javascript隐藏PDF文档中的页面?
- 8. 代码混淆?
- 9. 在混淆代码中隐藏字符串
- 10. 编码或混淆PHP代码
- 11. 如果需要隐藏代码,是否可以使用UserControls?
- 12. 是否可以在代码中隐藏颜色?
- 13. 了解混淆的JavaScript源代码
- 14. 混淆CakePHP代码
- 15. 混淆PHP代码
- 16. VHDL代码混淆
- 17. Python代码混淆
- 18. Ruby代码混淆
- 19. PHP代码混淆
- 20. 要隐藏的javascript代码
- 21. 如何防止反混淆JavaScript代码
- 22. 混淆或地穴C/C++代码
- 23. Eclipse中的混淆代码?
- 24. AutoIt3中的混淆代码
- 25. 我可以访问DataTemplate代码隐藏
- 26. Javascript代码隐藏div
- 27. NetBeans中是否存在隐藏的Javascript代码格式设置?
- 28. 与网页布局混淆
- 29. 是否可以使用XAML中的服务接口,而不是代码隐藏?
- 30. SQLServer2008:混淆或混淆
Dup的:http://stackoverflow.com/questions/599911/what-do-you-use-to-minimize-and-compress-javascript-libraries – 2009-04-09 16:27:18
Dup的:http://stackoverflow.com/问题/ 702907/what-are-good-css-and-js-minimizers-for-production-code – 2009-04-09 16:27:49
http://stackoverflow.com/a/17468822/2450730 – cocco 2013-07-04 11:53:46