PHP 在 eval 中执行代码?

PHP Execute code in eval?

脚本有什么问题?最后 eval($main) 我想看到输出为 Hello World。我该怎么做?

$str = ' echo "Hello World"; '; 
echo "<br><br>" ;

eval($str); // Hello World

$final = base64_encode($str); // IGVjaG8gIkhlbGxvIFdvcmxkIjsg
$ob_code = $final; // IGVjaG8gIkhlbGxvIFdvcmxkIjsg

$shahil = "\"$ob_code\""; // "IGVjaG8gIkhlbGxvIFdvcmxkIjsg"


$main = 'eval(base64_decode('. $shahil . '))'; // eval(base64_decode("IGVjaG8gIkhlbGxvIFdvcmxkIjsg"))

echo "<br><br>" . $main; // 

echo "<br><br>" ;

eval(eval(base64_decode("IGVjaG8gIkhlbGxvIFdvcmxkIjsg"))); // Hello World

echo "<br><br>";

eval($main); //  Parse error: parse error in C:\wamp\www\OBFUSCATOR\NEW\newmy_ob.php(21) : eval()'d code on line 1

添加指令分隔

eval($main.";");

正如其他人指出的那样 eval($main.";"); 应该可以解决您的问题。但是,请记住,出于安全原因,大多数 PHP 配置会阻止 eval 代码,使您的 uglify 脚本无用。