1

我实际上有一个想要保护的 js 代码,所以我使用来自 Nicolas Martin 的 Dean edward 的打包器 php:http: //joliclic.free.fr/php/javascript-packer/en/index.php

它正确地缩小了我的代码,但它不会重命名 var 和函数名(所以它不会混淆它)。

例如,一个网络缩小器返回这个:

(function(e){var t="#step1";var n="#step2";})

并且 php 打包器返回这个(如果我设置了 Encoding:None,我尝试了所有其他选项,没有变化)

(function($){var step1="#step1";var step2="#step2";

我很欣赏这个 php 打包器,因为它只是一个简短的 php 文件,我可以将它推送到我的所有服务器或本地项目(在 Wamp 上)。

闭包编译器在本地项目上不能很好地工作(如果你想重命名,它会重命名 ALL,所以你似乎不能将它与库一起使用,比如 jQuery),以及其他需要使用 Java 或 Python/Ruby 的情况。如果可能的话,我只想使用 php。

任何人都知道如何升级这个 php 打包器来做我想做的事?我很努力,也很失败。

4

2 回答 2

0

我找到了一个解决方案:

我支持Closure Compiler,我在这里找到了它的PHP *版本*:https ://code.google.com/p/php-closure/ 可以在本地机器和服务器上使用。

它在 html 中是这样调用的。您调用 php 进程并为其提供要加密的 js 文件名,此处为jquery-wa-custom-object。你可以给其他js文件添加&otherjsname&othertwojsname

<!--  Load protected javascript -->
<script src="js/protected/?jquery-wa-custom-object"></script>

并返回一个包含所有加密 js 的文本字符串。

php-closure.php中,我对其进行了编辑以重命名变量(但不是函数名,因为它在其他 js 文件中使用)

最后,它将为您提供一个完全缩小/混淆的 js,任何人都无法理解(即使您“美化”它),因为所有 var 都无法理解。

于 2013-09-17T14:29:27.210 回答
0
  1. 已经免费提供了这么多优秀的代码来构建,你确定人们会对“窃取”你的代码感兴趣吗?
  2. 你的代码有多少是建立在你从别人那里学到的东西之上的?所以提前付款
  3. 即使是经过混淆的代码也很容易反混淆。只需跟踪逻辑和重命名变量就相当快了,一个理解 javascript 范围的好 IDE 可能会自动执行其中的一些操作。
于 2014-01-11T17:59:28.360 回答