Maison >développement back-end >tutoriel php >Comment désactiver l'exemple de fonction eval() en php
La fonction php eval() opère sur le tableau :
<?php $data = "array('key1'=>'value1','key2'=>'value2','key3'=>'value3','key4'=>'value4')"; $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 !