保护PHP CLI脚本

时间:2012-05-15 10:09:11

标签: obfuscation php hiphop

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

实际上,它是一个套接字服务器,它正在等待“create”,“suspend”,“unsuspend”,“changepassword”等命令......然后它解析PPTP文件并修改它们。

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

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

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

所以,我来这里是为了得到帮助。我有一些PHP-cli脚本,必须在命令行运行,不需要网络服务器工作,我只需要(因为它是商业产品)来保护我的源不被读取和非法分配(这将很容易绕过许可证系统)。这个文件只是一个PHP类。

感谢。

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

1 个答案:

答案 0 :(得分:1)

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

请花点时间真正地询问您需要多少保护。计算机将始终了解如何解释您的代码,因此如果他真的想要,最终人类将能够窥视内部。

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