Discussion: code etrange
Afficher un message
Vieux 27/07/2007, 17h00   #2
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: code etrange

Le 27/07/2007 15:28, Thief13 a écrit :
>
> Bon, je suis en train de reprendre un appli derrière un autre
> développeur. Dans son code, je suis tombé sur ça :
>
> require(CONF_CHEMIN."langues/".constant("LANGUE_".strtoupper($_SESSION['langue'])));
>
> d'un autre coté, il définit les constantes LANGUE_FR, LANGUE_EN etc avec
> comme valeur le nom du fichier de langue.
>
> Bon, on m'a toujour dit qu'il ne fallais pas mettre des variable, et
> encore moin de type $_SESSION dans les require,


Oui. De type $_SESSION, ou $_GET, ou $_, ou $_REQUEST, ou quoi que
ce soit d'autre qui vienne de l'utilisateur et pas de toi-même, ça ne
doit pas être utilisé sans un traitement pour vérifier qu'elles sont
sans danger.

> D'un autre coté, c'est dans le constant, et pas directement dans le
> require, de plus, la liste des constantes est fini et maitrisé, donc en
> cas de valeur erroné, il ne me semble pas que ça puisse mettre le bazar.


Voilà, exactement. Le traitement qui vérifie que c'est sans danger, il
peut être dans la fonction.

> Qu'en pensez vous ?


Aucun danger pourvu que la fonction ne retourne que des valeurs dont la
liste est parfaitement maîtrisée de façon à ne pas mettre le souk.
  Réponse avec citation
 
Page generated in 0,05156 seconds with 9 queries