是否可以隐藏或扰乱/混淆网页的javascript代码?

时间:2009-04-09 14:49:12

标签: javascript html hide

我知道客户端代码必须可以从浏览器中读取,但我想(如果有太多我忽略的东西),如果有方法混淆代码给最终用户,如果不是什么是最佳实践“打包”javascript代码。

9 个答案:

答案 0 :(得分:8)

优良作法是使用YUI Compressor等工具缩小JS。除非你有特殊需要,否则我不会混淆它。有很多在线混淆器,如this one

请参阅此文章:http://developer.yahoo.net/blog/archives/2007/07/high_performanc_8.html

答案 1 :(得分:4)

检查this

除了贬低它,我认为你不能真正隐藏js。这一切都是用户的浏览器,有很多方法可以看到它。

答案 2 :(得分:2)

有关免费Javascript Obfuscator的信息,请参阅here

鉴于它实际上是可能的,如果您打算混淆的原因是为了保护知识产权,那么您可能试图以错误的方式从您的工作中获取价值。反转混淆是相当容易的,你可能会浪费时间来维护你的代码。

更多地关注您打算为访问您网站的用户提供哪些服务,以便将您的网站与竞争对手区分开来

答案 3 :(得分:0)

tools可用于压缩javascript代码并使最终用户难以理解。

答案 4 :(得分:0)

为什么这不会为你做这个伎俩?

http://www.javascriptobfuscator.com/

答案 5 :(得分:0)

请勿在javascript中添加任何敏感信息或个人信息。

花些时间保证服务器上的数据安全。

答案 6 :(得分:0)

第1步:不要。

您必须做很多事情才能达到任何有意义的混淆程度。单独模糊名称是不够的,因为所有标准函数仍然存在(尽管它们可能隐藏在一层较短/混淆的别名中),并且一旦代码格式化得很好就可以很容易地得出特定函数的用途。再次。任何真正想知道你的JS代码能做什么的人,无论你在浏览器获得它的副本之前做了什么都会这样做。

如果真正在您的JavaScript中拥有有价值的业务流程,那么您就是在做错了(tm)。

答案 7 :(得分:0)

不会混淆是为了让您的代码真正安全,它可能只会给您一种虚假的安全错觉(参见security by obscurity)。

如果您确实需要保密代码的某些部分,请考虑将敏感部分拉入服务器端脚本并对脚本进行(例如)AJAX调用。特别是随着JSON的出现,与服务器端脚本的通信变得前所未有的简单。

答案 8 :(得分:0)

可以使用以下工具:

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

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

  • Dojo Compressor我从来没有使用过这个,但它位于首位。它还需要Java。

  • JSMIN道格拉斯·克罗克福德(Douglas Crockford),这个有一个非常简单的算法,但它仍然很好。可以与JSLint结合使用。