我想保护我的Web服务器上的php代码。所以我使用 C 开发了一个加密/解密应用程序。在此过程中,我成功加密了所有php文件,如下所示:
php源代码(php文件) -->编码器工具 -->加密代码
然后,我开发了一个名为"MyDecrptionFunc"的php扩展,它获得一个加密的代码,并将解密它并返回解密。但是我不知道如何运行返回的php脚本。我使用了像下面的代码一样的 eval 函数,它起作用了:
<?php eval(MyDecrptionFunc("Encrypted Code")); ?>
但我不想使用 eval 函数。我希望 php 脚本在我调用 php 扩展时运行,如下所示的代码:
<?php MyDecrptionFunc("Encrypted Code"); ?>
所以,我认为我必须从用 c 编写的 php 扩展运行解密的代码,但我不知道该怎么做。
PS:
我所有的开发都是在Linux环境中进行的。
源php文件还包含html,java脚本和css。
php 脚本与数据库有关。
您可能可以更改 http 服务器设置:替换 php 处理程序来调用您的解码器(或围绕它的脚本)。服务器将在环境中指定原始请求,因此被调用的脚本/解密应用程序知道要解密哪个 php 文件并通过 php 解释器管道运行该文件。您将执行的 php 文件的输出转发到 Web 服务器(通过其套接字)。
缓慢但可能有效。
我在专有环境中从事软件业务15年的个人经验:加密php文件以保护知识产权是不必要的,烦人且容易出错。不要这样做,你不会真正得到任何东西。