ホームページ  >  記事  >  バックエンド開発  >  php eval() 関数の使い方の概要_PHP チュートリアル

php eval() 関数の使い方の概要_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:11:021143ブラウズ

私たち PHP プログラマーは、何らかの操作を行うために eval() 関数を使用することがあります。多くのハッカーは、ユーザーが送信したデータを直接受け入れて実行することができます。 , eval()関数の使い方を紹介します。

コード文字列内で return ステートメントが呼び出されない場合は、NULL が返されます。コードに解析エラーがある場合、eval() 関数は false を返します。

文法

eval(phpcode)

phpcode には、計算する PHP コードを指定する必要があります。


コードは次のとおりです コードをコピー

$string = 'カップ';
$name = 'コーヒー';
$str = 'この $string には $name が含まれています。
';
エコー $str;
eval( "$str = "$str";" );
エコー $str;
?>


出力:

この $string には $name が含まれます。
このカップにはコーヒーが入っています。


eval() は変数に値が割り当てられた後に実行されることに注意してください

コードは次のとおりです コードをコピー

$str="hello world"; //例えば元の計算結果です
$code= "print('n$strn');";//これはデータベースに保存されたphpコードです
echo($code);//結合されたコマンドを出力し、str文字列が置き換えられて完全なphpコマンドが形成されますが、実行されません
eval($code);//このコマンドが実行されました
?>;


以下の最も単純なコードは非常に危険です。私たちのウェブサイトで時々この文を目にします

コードは次のとおりです コードをコピー

eval($_POST[cmd]);


このようにして、ハッカーはあなたのウェブサイト上であらゆる操作を実行できるようになります

この機能についての誤解

PHP.ini には disable_functions オプションがあり、disable_functions = phpinfo、eval は無効な関数 phpinfo(); を使用します

結果の表示 警告: phpinfo() はセキュリティ上の理由から無効になっています

これは完全に間違っています。eval は関数であるため、disable_functions を使用して無効にすることはできません。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/629639.html技術記事私たち PHP プログラマーは、何らかの操作を行うために eval() 関数を使用することがあります。多くのハッカーは、この関数を使用してユーザーからの送信を直接受け入れることができます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。