在php中编写linux守护进程时要考虑什么,并使用hiphop进行编译以进行混淆

时间:2012-11-30 10:03:50

标签: php linux daemon hiphop

我们想在php中编写Linux服务并使用HIPHOP进行编译。由于我们使用php启动了项目,我们可以在内部完成所有编程而不是雇用c ++程序员等。我们很乐意坚持使用php。执行速度与我们无关(因此),因为守护程序只是进行一些监视,但我们想要关闭代码来混淆它。守护进程将进行一些网络通信并记录到数据库。这是一条可行的路线吗?在另一篇文章中有人描述嘻哈在编程中需要特别注意,因为并非所有的PHP功能都被实现。这仍然是这样吗?我很乐意在这里就你的想法发表你的看法。

1 个答案:

答案 0 :(得分:0)

HIPHOP是一个相当野兽。它非常有限,因此它具体取决于您的应用程序以及它的部署位置。请记住,目前它只能在64位架构上运行..所以,如果你想在32位机器上部署,你就会陷入困境。

根据应用程序的性质,您可能必须为不同的Linux发行版构建许多不同的二进制文件。由于HipHop仅适用于Fedora和CentOS,因此严格限制了您的范围。一旦你离开PHP解释器,你就失去了操作系统之间的大量可互换性(想想看:Windows,几乎所有的Linux,所有主要的BSD发行版......)

另外请记住,我不确定您希望“混淆”您的代码的程度。如果你想进行网络呼叫等,并保持隐藏,那么数据包嗅探器可以非常容易地看到你如何与外界进行通信。

同样,调试器和经验丰富的程序员将能够对您的二进制文件进行逆向工程,以达到您可能意识到的程度。

您可能希望查看Zend Encoder或IonCube Encoder等替代方案,这是首选的方法,但这些是非自由选项。还有其他编码器,您可能需要查看。

我不确定你在做什么,而不是“监控”,所以我不能肯定地说。但是,次要选项只是严格限制在客户端计算机上运行的代码量(假设它们向服务器计算机报告)并让服务器计算机(假设在您的总控制中)假设处理更多的处理任何可能的方式。

我邀请您通过测试自行探索这个想法,因为它再一次非常依赖于您的应用程序的性质以及您打算部署它的位置。 (对于许多人来说,像“在哪里部署”这样的东西可以迅速改变)。 HipHop的创建范围很窄:尽可能快地运行PHP代码。它的设计不是在OS和CPU架构之间高度灵活或高度可互换。在编写依赖它的大型应用程序之前请考虑这一点,并请确保您完全理解使用HipHop的每个含义。测试,测试,测试。