2013-08-20 46 views
0

我正在使用Yii框架。 我想做一個PHP字符串到PHP的動作。將字符串轉換爲php動作/函數

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

我想打印$ var我該怎麼做? 在Yii框架中有一個簡單的字符串選項解析php?

+0

你真的要打印'$ var'或回聲「你好」?在PHP中最危險的功能會做到這一點,但它是一個,如果你有 –

+0

我要讓是$ var動作所以它應該顯示Hello用戶生成的字符串中使用它,將允許濫用。 – Dar

+1

使用eval()時請注意任何警告,您幾乎肯定會將您的網站敞開以供有意甚至意外濫用。這是任何人運行惡意代碼或使服務器崩潰的後門; , EVAL還給我只是虛假和空 - 並且是正確的許多ISP –

回答

0

EVAL - 評估一個字符串作爲PHP代碼

評估給出的代碼PHP。

注意 中的eval()語言結構是非常危險因爲它允許任意PHP代碼執行。 因此不鼓勵使用它。如果您已經仔細覈實沒有其他選擇而不是使用此構造,請特別注意不要將任何用戶提供的數據傳遞給它,而不事先對其進行正確驗證。

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

2

可能使用eval()功能。但是,在很多情況下,eval是邪惡的,通常這種編碼方式會使代碼難以跟蹤和調試。小心從用戶潛在的不安全輸入,因爲,如果,例如,你做

eval('echo "$var"') 

和$ VAR是直接從$ _ POST設置,可以設置 ​​(提供的,網絡服務器正在用戶可能有訪問這些功能和目錄;甚至不是,它提供了大量機會來利用此類漏洞)。所以,一般 eval是壞主意,但有時它是唯一的解決方案。無論如何,要非常小心。

0
$this->evaluateExpression($var);