php eval()-Funktion arbeitet mit Array:
<?php $data = "array('key1'=>'value1','key2'=>'value2','key3'=>'value3','key4'=>'value4')"; $arr = eval("return $data;"); var_dump($arr); //array ?>
Laufergebnis:
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“ verwenden, um die Auswertung zu deaktivieren, 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 verbietet 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
Vielen Dank fürs Lesen, ich hoffe, es kann Ihnen helfen, vielen Dank für Ihre Unterstützung dieser Seite! Weitere PHP-Beispiele zum Deaktivieren der eval()-Funktion und verwandte Artikel finden Sie auf der chinesischen PHP-Website!