1

我有一个回显变量的 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 代码?

4

2 回答 2

1

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

echo eval($string);

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

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

它清空你的USER桌子。

于 2013-08-29T18:35:03.713 回答
-1

我想我找到了我的解决方案。我可以只使用 file_put_contents 来创建临时 html 文件,然后简单地包含它然后删除该文件

于 2013-08-29T18:59:51.603 回答