2010-03-09 43 views
7

晦涩难懂吗?我能看到的唯一明显好处是隐藏代码(尽管它是客户端的非专有的代码),从窥探的角度和作为最小化的代码隐藏代码,因为通常Javascript obsfucators也会尽量减少代码。晦涩值得吗?

+2

只有当你还在使用Dreamweaver的图像预加载函数:) – RedFilter

回答

9

我不认为JavaScript obfuscation值得在大多数普通情况下用于隐藏目的。然而,minification值得,因为许多原因,正如你所提到的,也有副作用混淆代码以及。

+0

+1同意缩小,但我实际上从来没有写过那么多代码我自己...如果你有某种中等规模的图书馆,我完全同意...... –

1

那么,如果它不是一些尖端的javascript代码,不应该容易复制和复制,并且脚本不是字节太大,我不会麻烦。每次需要部署时都要进行混淆处理,这有点麻烦,而且效果不大。

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

(甚至混淆并没有真正保护你的代码,只是使它升技更难以理解)

1

我已经使用了YUI Builder中,我发现它有利于降低我的javascript很大的规模。所以迷惑的最小化方面本身是非常有用的。

在安全性方面,我想你可以做的任何事情都是为了让恶意用户难以弄清楚你的东西是如何工作的,你的情况越好。

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

因此,在总结

缺点:你得运行混淆

优点:

  1. 较小的文件
  2. 更难恶意用户找出你的东西是如何工作的。
  3. 高质量的JavaScript(如果你听混淆器)。
+0

我打算在SO中打开另一个问题,因为我希望看到的是IIS 7的ISAPI/HttpHandler,它可以在一个环境中完成包括尽量减少和晦涩的CSS。谢谢。 –

1

我不认为这是值得的,因为任何动机足以让你的代码仍然可以得到它。至于尽量减少,我不打扰,因为gzip减轻了需要。

1

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

即使它被混淆了,但是确实有可能告诉你的代码在做什么,但是对于“随便”地查看你的代码的人来说,这将更加困难。

1

Dojo库有一个名为ShrinkSafe的组件。它会压缩你的JavaScript文件,并会混淆代码。这样,您可以将原件保留在某个位置,然后只释放通过ShrinkSafe运行的原件。