Heim > Artikel > Backend-Entwicklung > Detaillierte Erläuterung von Methodenbeispielen zum Deaktivieren der Funktion eval() in PHP
In PHP ist eval eine Funktion und kann nicht direkt deaktiviert werden. Allerdings ist die eval-Funktion ziemlich gefährlich und verursacht oft einige Probleme. Heute werfen wir einen Blick auf die Funktionsweise der eval-Funktion bei Arrays und wie man eval deaktiviert () in PHP. Freunde, die sie benötigen, können sich auf das Funktionsoperationsarray
php eval() beziehen:
<?php $data = "array('key1'=>'value1','key2'=>'value2','key3'=>'value3','key4'=>'value4')"; $arr = eval("return $data;"); var_dump($arr); //array ?>
Laufergebnisse:
array(4) { ["key1"]=> string(6) "value1" ["key2"]=> string(6) "value2" ["key3"]=> string(6) "value3" ["key4"]=> string(6) "value4" }
Viele Methoden im Internet, die Disable_Functions zum Deaktivieren der Auswertung verwenden, sind falsch!
Tatsächlich kann eval() nicht mit „disable_functions“ in php.ini deaktiviert werden:
da eval() ein Sprachkonstrukt und keine Funktion ist
eval ist zend , Es handelt sich also nicht um eine PHP_FUNCTION-Funktion.
Wie verhindert PHP also die Auswertung?
Wenn Sie die Auswertung deaktivieren möchten, können Sie die PHP-Erweiterung Suhosin verwenden:
Nach der Installation von Suhosin laden Sie Suhosin.so in php.ini und fügen Sie suhosin.executor.disable_eval = auf
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.phpMethoden zur Implementierung eines Transaktions-Rollbacks
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von Methodenbeispielen zum Deaktivieren der Funktion eval() in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!