1-17その他Tips261 文字列をPHPコードとして評価する
Level1
Pointeval関数を使う
任意の文字列をPHPのコードとして評価したい場合には、eval関数を使います。
eval関数は、引数として指定された文字列をPHPのコードとして評価した結果を返します。
文字列の中でreturn文を使った場合には、その値をeval関数の戻り値として返します。
return文を指定していない場合には、NULLが戻り値として返ります。
さらに、文字列のPHPコードにパースエラーが発生した場合には、FALSEが戻り値として返ります。
なお、文字列にはPHPの開始タグと終了タグを含める必要はありません。
eval関数の使い方
戻り値 = eval(文字列);
eval関数でユーザから渡された値を使ってコードを評価する場合には、コマンドインジェクションの脆弱性をさらす可能性がありますので利用にあたって特に注意が必要です。
コマンドインジェクションなどの脆弱性に関する詳細や対策は、本書の7章を参照してくださ
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録