Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung von Methodenbeispielen zum Deaktivieren der Funktion eval() in PHP

Detaillierte Erläuterung von Methodenbeispielen zum Deaktivieren der Funktion eval() in PHP

墨辰丷
墨辰丷Original
2018-05-30 09:46:151937Durchsuche

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(&#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
?>

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.


Verwandte Empfehlungen:

phpMethoden zur Implementierung eines Transaktions-Rollbacks

php

phpVerwenden Sie die Funktion exec() unter PDO zum Implementieren von Abfragemethoden, die sich auf die Anzahl der Zeilen nach der Ausführung auswirken

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!

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