use*_*593 208 php obfuscation
有没有人用过PHP的好混淆器?我尝试了一些,但他们不适用于非常大的项目.例如,它们无法处理包含在一个文件中并在另一个文件中使用的变量.
或者你有任何其他技巧来阻止代码的传播?
yos*_*ssi 236
您可以尝试PHP保护,这是一个免费的PHP混淆器来混淆您的PHP代码.
它非常好用,易于使用,也是免费的.  
至于其他人在这里写的关于不使用混淆的内容,因为它可以被破坏等等:
我只有一件事要回答它们 - 不要锁住你的房门,因为任何人都可以拿起你的锁.
事实确实如此,混淆并不意味着防止100%的代码被盗.它只需要使它成为一项耗时的任务,因此支付原始编码器会更便宜.希望这可以帮助.
Sch*_*ern 110
人们会为你提供混淆器,但是没有多少混淆可以阻止某人使用你的代码.没有.如果您的计算机可以运行它,或者如果它可以播放电影和音乐,则用户可以使用它.即使将其编译为机器代码也会使工作变得更加困难.如果你使用混淆器,你只是在欺骗自己.更糟糕的是,您也不允许用户修复错误或进行修改.
音乐和电影公司还没有达成协议,他们仍然花费数百万美元用于DRM.
在像PHP和Perl这样的解释语言中,它是微不足道的.Perl曾经有很多代码混淆器,然后我们意识到你可以轻松地反编译它们.
perl -MO=Deparse some_program
PHP有像DeZender和Show My Code这样的东西.
我的建议?写一张执照并找一位律师.唯一的另一种选择是不提供代码而是运行托管服务.
小智 30
没有什么是完美的.如果你只是想要阻止非程序员,那么这里有一个我写的你可以使用的小脚本:
<?php
$infile=$_SERVER['argv'][1];
$outfile=$_SERVER['argv'][2];
if (!$infile || !$outfile) {
    die("Usage: php {$_SERVER['argv'][0]} <input file> <output file>\n");
}
echo "Processing $infile to $outfile\n";
$data="ob_end_clean();?>";
$data.=php_strip_whitespace($infile);
// compress data
$data=gzcompress($data,9);
// encode in base64
$data=base64_encode($data);
// generate output text
$out='<?ob_start();$a=\''.$data.'\';eval(gzuncompress(base64_decode($a)));$v=ob_get_contents();ob_end_clean();?>';
// write output text
file_put_contents($outfile,$out);
tom*_*umb 20
我不确定你是否可以将解释语言的混淆标记为毫无意义(我无法在Schwern的帖子中添加评论,所以这里有一个新条目).
我认为,假设您知道有人想要混淆代码的所有可能情况,并且您认为任何人实际上愿意花费任何必要的长度来查看代码一旦被混淆,这有点短视.考虑我目前的情况:
我在一家咨询公司工作,该公司正在开发一个大型且相当复杂的基于PHP的站点.该项目将托管在客户的服务器上,该服务器托管由其他咨询公司开发的其他网站.从技术上讲,我们编写的任何代码都归客户所有,因此我们无法对其进行许可.但是,任何其他可以访问服务器的咨询公司(竞争对手)都可以复制我们的代码,而无需先获得客户的许可.因此,我们有一个真正的混淆理由 - 让竞争对手理解我们的代码所需的努力超过了从头开始创建我们的工作副本的努力.
Ira*_*ter 16
请参阅我们的SD Thicket PHP Obfuscator,了解混淆器,它适用于任意大的页面集.它主要通过加扰标识符名称来运行.对于适度到大型应用程序,这可能使代码极难理解,这是整个目的.
它并没有浪费任何能量"eval(decode(encodedprogramcode))"方案,许多PHP"混淆器"做[这些是"编码器",而不是"混淆器"),因为任何clod都可以找到那个电话并自己执行eval-decode并获得解码后的代码.
它使用语言精确的解析器来处理PHP; 它会告诉你程序在语法上是否无效.更重要的是,它准确地了解整个语言; 它不会丢失或混淆,并且它不会破坏您的代码(其他如果您"错误地"混淆会发生什么,例如,无法正确识别代码的公共API).
是的,它会跨页面对标识符进行相同的混淆; 如果不这样做,结果将无效.
Pat*_*aDJ 10
试试这个:http://www.pipsomania.com/best_php_obfuscator.do
最近我用Java编写它来混淆我的PHP项目,因为我没有找到任何好的和兼容的写在网上,我决定把它作为saas在线,所以每个人都免费使用它.它不会更改不同脚本之间的变量名称以获得最大的兼容性,但是使用随机逻辑,每条指令都可以很好地混淆它们.弦乐......一切.我相信它比这个错误的codeeclipse好得多,就像用PHP编写的方式而且非常慢:)