这样的混淆器是否存在?

时间:2011-10-13 03:42:38

标签: php obfuscation

首先,我个人反对混淆并同意其他人,例如this previous question的大多数受访者。

然而,我被告知要找一个。所以,请不要重复为什么混淆器是无用的。感谢。

我必须找到一个PHP混淆器

  • 最好是免费的: - )
  • 会混淆所有字符串,但不会混淆SQL(!! ??)(例如,在$_SESSION['password'] = 'secret'中;它应该混淆$_SESSIONpasswordsecret m但是应该模糊了odbc_exec($connection, 'drop database if exists users');
  • 等字符串
  • 可以跨多个目录扫描项目,并知道文件a.php中声明的变量$password并重命名为$lI1O0l应该在文件b.php中命名,其中包括a.php和所有其他依赖性东西)
  • 将删除所有评论并减少空白
  • 在中型项目上尝试并得到证实(在几十个目录中至少有几百个文件)
  • (这个很棘手) - 访问互联网。因此,如果它是商业产品,它可能具有我从供应商处获得的许可文件,并发送给我的客户的IT部门(例如,在CD上)进行安装。但客户的PC无法通过互联网访问来确定混淆器是否有效许可。

这样的野兽存在吗?如果我通过PHP编译器运行我的代码并将可执行文件发送给客户(如果是这样,哪个编译器)会有什么不同。

我意识到这是一个有争议的话题,但我只是在寻求建议,帮助我尝试做我的工作......

提前致谢

2 个答案:

答案 0 :(得分:3)

您最好只使用Zend Guard或类似的编码器。

答案 1 :(得分:2)

我们PHP Obfuscator将执行大部分操作。它已经在非常大的PHP应用程序中使用。

它不会混淆SQL字符串,但我不确定该要求来自何处。 它对这些字符串的作用不会改变程序中的功能。

您可以告诉它不要混淆某些名称(例如,odbc),这通常是 如果这些名字来自包装你也不能混淆。

编辑:它不需要互联网访问来验证它是否已获得许可。