如何混淆或使我的JavaScript文件难以理解?

Bha*_*gav 15 javascript obfuscation jquery

我的应用程序中包含JavaScript脚本,包含JavaScript和jQuery函数.所有用户与我的应用程序的交互都是动态的,它通过jQuery传递给应用程序.

我意识到,当我在客户端运行我的应用程序时,客户端可以通过查看页面源(Ctrl + U)来查看我的所有源代码.

如何隐藏或执行某些操作以便用户无法理解或阅读源代码?

我想做像Facebook那样的事情.通过查看Facebook源用户无法重用其源代码甚至无法理解它.

我用Google搜索并发现这个过程称为混淆,但这对我不起作用.

我试过这个:

http://www.javascriptobfuscator.com/default.aspx

http://dean.edwards.name/packer/

http://www.daftlogic.com/projects-online-javascript-obfuscator.htm

甚至我试过 http://www.jasob.com/

但这对我没用.

Thi*_*ter 24

如果有人真的关心你的代码,他将采取不缩小的工作量(用有用的变量/函数名替换随机)."加密"或打包等其他任何东西都只是蛇油,因为它可以很容易地恢复.因此,为自己节省一些工作,而不是花费在改善应用程序上.

所以:你应该在生产系统上做的唯一事情是缩小你的JS代码.这使它更小,因此加载更快 - 所以它实际上是一个优势.除此之外,对于那些只是对快速看起来好奇但又不想花时间的人来说,它会降低可读性.

例如,facebook JS文件只是缩小了 - 很可能只是出于带宽/性能原因.


缩小JavaScript的最简单方法是使用Google的Web服务:http://closure-compiler.appspot.com/home
请注意,它有1MB的限制,所以如果你的JS很大,你可能需要下载Java基于minifier的本地运行它.