0

可能重复:
在不加密的情况下保护 PHP 代码的最佳解决方案

谁能告诉我在 PHP 中混淆所有函数名是否可以/可以接受?

例如,这似乎可以使用在线工具:

原来的:

if(file_exists($file)){chmod($file,0644);echo"good";}

混淆:

$x0c="\143hm\x6f\144"; $x0d="\x66\x69\x6ce\x5f\x65\170\151\x73\164\x73"; 
if($x0d($x0b)){$x0c($x0b,0644);echo"go\x6fd";}?>

我的问题:

  1. 请注意,它不再具有 file_exists 或 chmod 功能,但这适用于任何 PHP 安装设置/版本吗?
  2. 使用此方法,可以完成任何 PHP 函数,例如:file()、eval()、base64_decode()、file_get_contents();str_rot13()、strpos()、touch()、filemtime()?
  3. 这适用于 Windows、Linux 等服务器吗?
4

1 回答 1

0
  1. 请注意,它不再具有 file_exists 或 chmod 功能,但这适用于任何 PHP 安装设置/版本吗?
  2. 使用此方法,可以完成任何 php 函数,例如:file()、eval()、base64_decode()、file_get_contents();str_rot13()、strpos()、touch()、filemtime()?
  3. 这适用于 Windows、Linux 等服务器吗?

是的,是的,是的。

谁能告诉我在 PHP 中混淆所有函数名是否可以/可以接受?

不,不,地狱不。

因此,虽然这段代码有效,但存在一些大问题:

  1. 混淆得越多,代码就越慢。简单的生活事实。
  2. 对于高级用户来说,简单地撤消您的所有工作是微不足道的。如果您试图混淆来源作为反盗版措施,您可以直接不打扰。
  3. 如果您试图混淆来源以试图做坏事,请注意这些东西会像拇指酸痛一样突出,因为看起来“错误”,因此很容易删除。
  4. 最后,即使您隐藏了函数的名称,您也无法绕过 PHP 的内置disable_functions配置设置。
于 2012-12-21T05:46:46.370 回答