如何加密PHP脚本的一部分

时间:2012-04-17 06:23:19

标签: php encryption base64 eval encode

我有一个PHP脚本, 例如

<?php
$name="Alfred";
echo $name;
?>

我使用以下脚本加密,(www.rightscripts.com/phpencode/index.php)

<?php 
eval(gzinflate(str_rot13(base64_decode('encrypted code')))); 
?>

但它只打印“$ name =”Alfred“;”和“未定义的变量$ name”。 问题是什么 ?还有其他解决方案吗?请帮帮我?

1 个答案:

答案 0 :(得分:4)

“编码”这种方式并不能真正保护你免受任何伤害。

编码的PHP代码在服务器上,代码也将其解码回常规PHP。

如果某人有足够的权限访问您的服务器,他们可以读取您编码的PHP脚本,那么几乎可以肯定他们也有足够的权限来读取解码器脚本。这意味着您的代码实际上并未受到保护。

有许多混淆器和编码器可以做你想做的事情,但是在一天结束时,你真正对你的代码做的就是放慢速度(eval()是一个主要的性能杀手,除了其他问题之外)。

更好的解决方案可能是编译代码。有一个PHP compiler called HipHop可以帮到你。值得一试。

即使使用已编译的代码(使用任何语言),对于那些决心将其分开并了解您的秘密的人来说仍然可能,但它会比简单的编码脚本困难得多,并且它应该运行得更快比编译时的正常情况,与编码时比正常速度慢,所以你双赢。