echo-php变量,其中包含php echo代码


echo php variable that contain php echo code

我有一个PHP文件,它会回显一个变量:

<?=echo $myVariable;?>

$myVariable是我从MySQL变量中提取的数据,其中可能包含类似php echo本身的代码:

<div dir="rtl">
    Hello $data['assigned_vars']['first_name'];<br />
    your email <?=$data['assigned_vars']['email'];?><br />
    your password <?=$data['assigned_vars']['user_password'];?>    
</div>

我使用ob buffering来存储整个字符串,然后使用return。如何在PHP字符串中执行PHP代码?

您可以使用eval函数,但它会给您带来很大的安全问题。

echo eval($string);

但这里可能会发生安全异常,例如下面的代码。

$string = "base64_decode(bXlzcV9xdWVyeSgnREVMRVRFICogRlJPTSBVU0VSJyk7)";
//mysql_query('DELETE * FROM USER'); 
echo eval($string);

它清空了你的USER表。

我想我找到了我的解决方案。我只需要file_put_contents来创建临时html文件,然后简单地包括它,然后删除文件