Heim > Artikel > Backend-Entwicklung > Beispiel zum Deaktivieren der Funktion eval() im Beispiel php_php
php eval()-Funktion arbeitet mit Arrays:
<?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 Leute im Internet sagen, dass die Verwendung von „disable_functions“ zum Deaktivieren von eval falsch ist!
Tatsächlich kann eval() nicht mit „disable_functions“ in php.ini deaktiviert werden:
weil eval() ein Sprachkonstrukt und keine Funktion ist
eval ist Zend, also keine PHP_FUNCTION-Funktion
Wie kann man also die Auswertung in PHP deaktivieren?
Wenn Sie die Auswertung deaktivieren möchten, können Sie die PHP-Erweiterung Suhosin verwenden:
Laden Sie nach der Installation von Suhosin Suhosin.so in php.ini und fügen Sie suhosin.executor.disable_eval = on hinzu
Vielen Dank fürs Lesen, ich hoffe, es kann Ihnen helfen, vielen Dank für Ihre Unterstützung dieser Website!