Maison >développement back-end >tutoriel php >Comment désactiver l'exemple de fonction eval() en php

Comment désactiver l'exemple de fonction eval() en php

高洛峰
高洛峰original
2016-12-30 10:39:431639parcourir

La fonction php eval() opère sur le tableau :

<?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
?>

Résultat d'exécution :

array(4) { ["key1"]=> string(6) "value1" ["key2"]=> string(6) "value2" ["key3"]=> string(6) "value3" ["key4"]=> string(6) "value4" }

De nombreuses méthodes sur Internet qui utilisent Disable_functions pour désactiver eval sont fausses !

En fait, eval() ne peut pas être désactivé en utilisant Disable_functions dans php.ini :

car eval() est une construction de langage et non une fonction

eval est zend , ce n'est donc pas une fonction PHP_FUNCTION ;

Alors, comment PHP interdit-il l'évaluation ?

Si vous souhaitez désactiver eval, vous pouvez utiliser l'extension php Suhosin :

Après avoir installé Suhosin, chargez Suhosin.so dans php.ini et ajoutez suhosin.executor.disable_eval = on

Merci d'avoir lu, j'espère que cela pourra vous aider, merci pour votre soutien à ce site !

Pour en savoir plus sur PHP, comment désactiver la fonction eval(), des exemples et des articles connexes, veuillez faire attention au site Web chinois de PHP !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn