vendredi 18 janvier 2013

PHP – alternative à eval, comment et pourquoi s’en passer ?


3 raisons de ne pas utiliser eval

1) Risque d’insertion de code

Étant donné que c’est une chaine qui va être exécutée par PHP, il se peut que, d’une manière ou d’une autre, une personne mal intentionnée puisse insérer du code dans votre eval. Il suffit d’une simple configuration spécifique au niveau du serveur comme « register_globals » pour qu’une variable puisse être modifiée par un utilisateur, ce qui se répercutera sur votre eval :/ .

2) Un suivi des erreurs difficile


Vu que votre code est exécuté par une fonction et non directement par le moteur PHP, une « parse error » ou tout autre erreur de syntaxe sera beaucoup plus difficile à traiter et à corriger, surtout si votre chaine exécutée dans eval devient volumineuse.

3) Une fonction (trop) particulière

En suivant l’actualité du langage PHP, on remarque que la communauté des développeurs travaillent de plus en plus sur la pré-compilation du code PHP afin d’accroître la rapidité d’exécution des scripts (par exemple Facebook avec HipHop). Or, la fonction eval n’est plus supportée par ces systèmes. En pariant sur l’avenir, il est probable (je dis bien « probable ») que cette fonction soit peu à peu abandonnée.

Aucun commentaire:

Enregistrer un commentaire