是否值得拥抱?

时间:2010-03-09 19:43:47

标签: javascript obfuscation

阻止Javascript是否有意义?我能看到的唯一明显的好处是隐藏代码(虽然它本身就是非专有的,因为它是客户端的)从窥探眼睛和作为最小化器,因为通常Javascript阻塞器也做最小化。

6 个答案:

答案 0 :(得分:9)

我认为JavaScript obfuscation在大多数一般情况下都不值得隐藏。但是,minification 值得的,出于多种原因,正如您所提到的,它也具有混淆代码的轻微副作用。

答案 1 :(得分:1)

好吧,如果它不是一些不易复制和复制的尖端javascript代码,并且脚本的字节数不是太大,我就不会这么做了。每次需要部署时进行混淆都有点麻烦,而且好处很小。

也就是说,脚本不是太大,代码也不受保护。

(即使混淆并不真正保护你的代码,只是让它更难理解)

答案 2 :(得分:1)

我使用过YUI Builder,我发现它很适合减少我的javascript大小。因此,混淆的最小化方面本身就非常有用。

就安全性而言,我想你可以做些什么来让恶意用户更难弄清楚你的东西是如何运作的,你就会越好。

最后,大多数混淆器在遇到写得不好的javascript时会给你警告或错误,整体上也会提高你的代码质量。

总结

缺点:你必须运行混淆器

优点:

  1. 较小的文件
  2. 让恶意用户更难理解你的东西是如何运作的。
  3. 更高质量的javascript(如果你听混淆器)。

答案 3 :(得分:1)

我认为这不值得,因为任何有足够动力来获取代码的人仍然可以获得它。至于最小化,我不打扰,因为gzip减轻了对此的需求。

答案 4 :(得分:1)

混淆是最小化的副作用。您的变量,函数等被重命名为尽可能短的长度以节省空间。否则,最小化器就是白色空间去除器。

虽然很明显可以告诉你的代码在做什么,即使它被混淆了,但对于那些“随便”看你的代码的人来说会更难。

答案 5 :(得分:1)

Dojo库有一个名为ShrinkSafe的组件。它将压缩您的JavaScript文件并对代码进行模糊处理。这样,您可以将原件保留在某处,然后只释放通过ShrinkSafe运行的原件。