Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel für die Deaktivierung der Funktion eval() in PHP

Beispiel für die Deaktivierung der Funktion eval() in PHP

高洛峰
高洛峰Original
2016-12-30 10:39:431579Durchsuche

php eval()-Funktion arbeitet mit Array:

<?php
$data = "array(&#39;key1&#39;=>&#39;value1&#39;,&#39;key2&#39;=>&#39;value2&#39;,&#39;key3&#39;=>&#39;value3&#39;,&#39;key4&#39;=>&#39;value4&#39;)";
$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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn