Desactiver Eval

Mammouth du PHP | 985 Messages

27 nov. 2009, 19:13

A cause de certains risques de sécurités, il est souvent conseillé de désactiver eval().
Exemple ici: modelisation-securite/securite-t250580.html

La majorité des tutoriels sur le net, conseillent une désactivation de eval() en utilisant disable_functions dans le php.ini.
Exemple:

Code : Tout sélectionner

disable_functions = show_source, system, shell_exec, passthru, popen, proc_open, eval, exec, parse_ini_file, dl
Malheureusement la majorité d'entre-nous ne testent pas ensuite si la désactivation est active.

Moi oui :wink: -> Et donc cela ne fonctionne...
On ne peut désactiver eval() avec disable_functions car eval() n'est pas une fonction...

Il faut, par exemple, installer Suhosin
http://www.hardened-php.net/suhosin/

Il permet notamment de désactiver eval().
Liste des options possibles: http://www.hardened-php.net/suhosin/configuration.html

Une fois installé, il faut ajouter dans le php.ini:

Code : Tout sélectionner

extension=suhosin.so suhosin.executor.disable_eval = on
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.