是否可以动态压缩和混淆Javascript代码?

时间:2011-06-22 17:49:43

标签: php jquery

我遇到了this great online tool。它有压缩和混淆JS的选项。我想知道是否有可能在网站上做到这一点。我知道它会稍微减慢客户端的速度,但在我看来这是可以接受的。我更关心我使用的专有代码。

我主要使用PHP和jQuery。

5 个答案:

答案 0 :(得分:2)

您可以使用minify,它基于Yahoo的YUI-Compressor。

  

它结合了多个CSS或Javascript   文件,删除不必要的空格   和评论,并为他们服务   gzip编码和最佳客户端   缓存标题。

要进行模糊处理,您可以设置nomunge => false

答案 1 :(得分:2)

你是在谈论在客户端这样做吗?这完全违背了目的。将未经模糊处理的未压缩代码发送给客户端会破坏此过程的两个重要元素:

  • 发送压缩的带宽/时间节省
  • 混淆可能有助于对代码进行反向工程设计变得更加困难(但不能以任何方式使其变得不可能)。

简短的故事:在服务器端做。

答案 2 :(得分:1)

Minify会动态压缩和缩小(但不会混淆)。它会缓存结果,直到文件发生变化。可能还有一种方法可以混淆。

答案 3 :(得分:1)

如果您担心保护专有代码,我会将您拥有的任何专有操作移至服务器端(如@DA所指出)。任何人都可以通过JS美化器运行你的js并获得可读的代码,无论它是多么混淆。

JS混淆/压缩最好用于使js更小,以便在客户端加载页面时消耗更少的带宽。当你试图阻止正在通过你的网站传播的xss攻击时 - 你通过重命名恶意脚本试图利用的变量 - 你所建议的可能是有用的 - 但除此之外我没有看到实施的任何理由或好处对每个请求进行重新混淆。

答案 4 :(得分:0)

如果您担心不希望他人看到的专有代码,那么请不要使用JavaScript或任何客户端语言。 JS混淆不是安全性......只是出售混淆软件的骗局。

至于压缩,是的,你可以做那个服务器端。如上所述,YUI-Compressor是一个不错的选择。