保护 PHP CLI 脚本


Protecting PHP CLI scripts

我目前正在命令行中编写一个小的商业PHP脚本,它将是一个VPN(PPTP(管理器。

实际上,它是一个套接字服务器,正在等待"创建","挂起","取消挂起","更改密码"等命令...然后,它解析PPTP文件并对其进行修改。

问题是我将不得不提供非常简单的 PHP 文件,以至于它们只需要安装 php5-cli(没有 apache,没有别的(,我需要保护它不被读取(实际上,它只有 1 个文件,这是一个完整的类。其余的可以清楚(。我希望系统尽可能轻,这就是为什么不需要GUI,Web服务器,curl,*sql...

我想到了 IonCube,但它非常昂贵,不能与 cli 脚本一起使用,因为它需要一个由 apache 加载的加载器。我认为这是每个编码器的问题。

我想到了HipHop PHP(来自Facebook(,但很难理解如何使用(因为我可以编译我的源代码,但用户指南说如何使用它启动我们的清晰源代码:/(。

所以,我在这里寻求帮助。我有一些PHP-cli脚本,它们必须在命令行中运行,不需要Web服务器即可工作,我只需要(因为它是商业产品(来保护我的源代码免受读取和非法分发(绕过许可证系统很容易(。这个文件只是一个PHP类。

谢谢。

--编辑--很珍贵的是,我想按月、6 个月、按年支付。如果很清楚,那么每个人都可以评论许可证检查,并免费获得它。我喜欢开源,为了证明,我为这个项目编写了 3 个类,一个带有输出处理的调试/警告/错误管理器(stdout/stderr/logfile(和一个 Socket 类,你只需要包含和扩展它,你有一个完整的服务器(你只需要实现所需的功能,服务器将调用"收到的 commmand"((, 我不想混淆这两个类。

至于ionCube,有一个在线编码器可以对脚本进行一次性编码,只需几美元,具体取决于代码库的大小。如果您编写自己的许可机制,则可以使用它。此外,你关于ionclube加载器的说法是不正确的,不需要apache,它只是一个可以用php.ini加载的模块。在我看来,IonCube是一个不错的选择。

请花点时间真正询问您需要多少保护。计算机总是会理解如何解释你的代码,所以最终人类将能够窥视内部,如果他真的愿意的话。

如果 ionCube 加载器不是客户端上的一个选项,那么有几个用于 PHP 的"混淆器"可能会阻止"快速浏览者"在不到一小时的时间内理解代码。这些混淆器不会加密您的代码,但它们会通过将所有变量、函数和类名更改为一些任意哈希值并删除所有注释和空格来降低其可读性。它们不需要在服务器上运行任何东西,但最终你的PHP代码仍然是一样的。