我实际上有一个我想要保护的js代码,所以我使用Nicolas Martin的dean edward's packer 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 上)。
闭包编译器在本地项目上不能很好地工作(如果你想重命名,它会重命名所有项目,所以看起来你不能将它与库一起使用,比如 jQuery),而其他需要使用 Java 或 Python/Ruby 的项目。如果可能的话,我想只使用 php。
有人知道如何升级这个 php 打包程序来完成我想要的事情吗?我很努力,也很失败。
最佳答案
我找到了解决方案:
我支持了闭包编译器,并且我在这里找到了它的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都是不可理解的。
关于javascript - Dean Edwards 的 php 加壳器未重命名 var 和 function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18831145/