2016-03-23 7 views
-1

私は、次のエラーが発生します' ) 'dコード。ここで解析エラー:evalの中に予約した '(T_STRING eval()関数の構文エラー、予期しない '予約'(T_STRING)()':</p> <p>パースエラー構文エラー、予期しないDコード

は私のコードです:

$cvalue = do_shortcode($cvalue); 

    eval('$cvalue="\n<div class=\"advcustomvalue\">\n' . $cvalue . '\n</div>\n";'); 

    echo urldecode(stripslashes($cvalue)); 

    if ($posttext) { 
    echo $posttext; 
    } 
} 

どのように私はevalのコード(3行目)で、この構文エラーを解決することができますか?

おかげで、

ジョナサンは

+3

は '$のcvalue'が、それはしませんが何であるかに依存しますか? – AbraCadaver

+3

このコードは注入に非常に脆弱です。これはまさに起こったことです。 '$ cvalue'には引用符が含まれていて、構文エラーで' eval 'しているコードが残っています。 'eval'が悪いと聞いたことがありますか? – Dencker

答えて

2

あなたは文字列を連結すると些細な事をしたくない場合は特に、NEVERのように、evalを使用しないでください。ただ、これを行う

$cvalue = sprintf("\n<div class=\"advcustomvalue\">\n%s\n</div>\n", $cvalue); 
関連する問題