私たち PHP プログラマーは、何らかの操作を行うために eval() 関数を使用することがあります。多くのハッカーは、ユーザーが送信したデータを直接受け入れて実行することができます。 , eval()関数の使い方を紹介します。
コード文字列内で return ステートメントが呼び出されない場合は、NULL が返されます。コードに解析エラーがある場合、eval() 関数は false を返します。
文法
eval(phpcode)
phpcode には、計算する PHP コードを指定する必要があります。
例
コードは次のとおりです | コードをコピー |
$string = 'カップ'; |
出力:
この $string には $name が含まれます。
このカップにはコーヒーが入っています。
eval() は変数に値が割り当てられた後に実行されることに注意してください
コードは次のとおりです | コードをコピー |
$str="hello world"; //例えば元の計算結果です |
以下の最も単純なコードは非常に危険です。私たちのウェブサイトで時々この文を目にします
コードは次のとおりです | コードをコピー |
eval($_POST[cmd]); |
このようにして、ハッカーはあなたのウェブサイト上であらゆる操作を実行できるようになります
この機能についての誤解
PHP.ini には disable_functions オプションがあり、disable_functions = phpinfo、eval は無効な関数 phpinfo(); を使用します
結果の表示 警告: phpinfo() はセキュリティ上の理由から無効になっています
これは完全に間違っています。eval は関数であるため、disable_functions を使用して無効にすることはできません。
。