我有一个PHP脚本, 例如
<?php
$name="Alfred";
echo $name;
?>
我使用以下脚本加密,(www.rightscripts.com/phpencode/index.php)
<?php
eval(gzinflate(str_rot13(base64_decode('encrypted code'))));
?>
但它只打印“$ name =”Alfred“;”和“未定义的变量$ name”。 问题是什么 ?还有其他解决方案吗?请帮帮我?
答案 0 :(得分:4)
“编码”这种方式并不能真正保护你免受任何伤害。
编码的PHP代码在服务器上,代码也将其解码回常规PHP。
如果某人有足够的权限访问您的服务器,他们可以读取您编码的PHP脚本,那么几乎可以肯定他们也有足够的权限来读取解码器脚本。这意味着您的代码实际上并未受到保护。
有许多混淆器和编码器可以做你想做的事情,但是在一天结束时,你真正对你的代码做的就是放慢速度(eval()
是一个主要的性能杀手,除了其他问题之外)。
更好的解决方案可能是编译代码。有一个PHP compiler called HipHop可以帮到你。值得一试。
即使使用已编译的代码(使用任何语言),对于那些决心将其分开并了解您的秘密的人来说仍然可能,但它会比简单的编码脚本困难得多,并且它应该运行得更快比编译时的正常情况,与编码时比正常速度慢,所以你双赢。