我试图让我的PHP主类压缩,并使用它像普通的PHP代码

时间:2014-03-02 06:17:53

标签: php encoding decode compression

我不想将我的代码提供给客户。我知道没有任何这样的方法可以使我的代码100%安全地从客户端或其他开发人员编辑,但至少我认为可能客户端我可以隐藏我的代码,为此我使用以下方式:

例如,我有以下代码:

$php = base64_encode('<?php function add($a,$b){echo($a+$b);} add(30,40); ?>');

上面的代码生成了我的php代码的以下代码:

PD9waHAgZnVuY3Rpb24gYWRkKCRhLCRiKXtlY2hvKCRhKyRiKTt9IGFkZCgzMCw0MCk7ID8+

我使用gzencode()方法压缩上面生成的代码,如下所示:

$txt = "PD9waHAgZnVuY3Rpb24gYWRkKCRhLCRiKXtlY2hvKCRhKyRiKTt9IGFkZCgzMCw0MCk7ID8+";
$ph = gzencode($txt,8);

我可以使用以下代码获取原始php代码:

echo(base64_decode($ph));

它产生:

<?php function add($a,$b){echo($a+$b);} add(30,40); ?>

现在,这段代码显示在浏览器的源代码中,但我想像原始的PHP代码一样运行这段代码,那么,我要做什么来制作这个可执行文件呢?

由于

1 个答案:

答案 0 :(得分:2)

您可以使用 eval 将字符串作为内联代码运行。检查一下(eval) 您还可以创建一个匿名函数,您的字符串代码应该在其中(create_function