我的应用程序中包含
JavaScript和jQuery函数的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
但这对我来说没有用.
解决方法
如果有人真的在乎你的代码,他将承担未分解的工作量(用有用的变量/函数名替换随机数). “加密”或打包等其他任何东西只是
snake oil,因为它可以很容易地恢复.所以为了节省自己一些工作,而应该花更多的时间来改善应用程序.
所以:在生产系统上应该做的唯一一件事就是缩小你的JS代码.这使得它更小,因此更快地加载 – 所以这是一个实际的优势.除此之外,它会使人们对于刚刚好奇的人很不可读,但不想花时间.
例如,Facebook的JS文件只是简化了 – 最有可能只是为了带宽/性能的原因.
简化JavaScript的最简单方法是使用Google的Web服务:http://closure-compiler.appspot.com/home请注意,它有一个1MB的限制,所以如果您的JS是巨大的,您可能需要下载基于Java的分解器在本地运行它.