d'un autre coté, il définit les consantes 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, alor je trouve ça un
peut douteux.
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 bazzare.
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 $_COOKIE, 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.
Bon, je suis en train de reprendre un appli derrière un autre
développeur. Dans son code, je suis tombé sur ça :
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 $_COOKIE, 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.
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 $_COOKIE, 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.
Bruno Desthuilliers
Bonjour à tous !
Bon, je suis en train de reprendre un appli derrière un autre devellopeur. Dans son code, je suis tombé sur ça :
d'un autre coté, il définit les consantes 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,
Ce genre de règle est pour ceux qui n'en comprennent pas (encore) les raisons. Une fois que tu sais le pourquoi de la règle, tu sais aussi quand et comment ne pas l'appliquer. Donc réfléchi à pourquoi on t'a dit de ne pas utiliser de variables dans les requires, et tu n'aura plus à te soucier de cette règle.
alor je trouve ça un peut douteux.
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 bazzare.
Qu'en pensez vous ?
Mmm... si la constante n'est pas définie, le chemin passé à require va être un poil incomplet. Du point de vue sécurité, il n'y a probablement pas grand risque (puisque constant() retournera NULL s'il n'y a pas de constante correspondante), mais du point de vue robustesse, ça me paraît un peu léger.
Perso, je commencerais par tester si la constante est définie, quite à envoyer un message d'erreur ou à utiliser un défaut en cas de pépin. Mais bon, ça dépend du contexte...
Mes deux centimes.
Bonjour à tous !
Bon, je suis en train de reprendre un appli derrière un autre
devellopeur. Dans son code, je suis tombé sur ça :
d'un autre coté, il définit les consantes 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,
Ce genre de règle est pour ceux qui n'en comprennent pas (encore) les
raisons. Une fois que tu sais le pourquoi de la règle, tu sais aussi
quand et comment ne pas l'appliquer. Donc réfléchi à pourquoi on t'a dit
de ne pas utiliser de variables dans les requires, et tu n'aura plus à
te soucier de cette règle.
alor je trouve ça un
peut douteux.
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 bazzare.
Qu'en pensez vous ?
Mmm... si la constante n'est pas définie, le chemin passé à require va
être un poil incomplet. Du point de vue sécurité, il n'y a probablement
pas grand risque (puisque constant() retournera NULL s'il n'y a pas de
constante correspondante), mais du point de vue robustesse, ça me paraît
un peu léger.
Perso, je commencerais par tester si la constante est définie, quite à
envoyer un message d'erreur ou à utiliser un défaut en cas de pépin.
Mais bon, ça dépend du contexte...
d'un autre coté, il définit les consantes 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,
Ce genre de règle est pour ceux qui n'en comprennent pas (encore) les raisons. Une fois que tu sais le pourquoi de la règle, tu sais aussi quand et comment ne pas l'appliquer. Donc réfléchi à pourquoi on t'a dit de ne pas utiliser de variables dans les requires, et tu n'aura plus à te soucier de cette règle.
alor je trouve ça un peut douteux.
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 bazzare.
Qu'en pensez vous ?
Mmm... si la constante n'est pas définie, le chemin passé à require va être un poil incomplet. Du point de vue sécurité, il n'y a probablement pas grand risque (puisque constant() retournera NULL s'il n'y a pas de constante correspondante), mais du point de vue robustesse, ça me paraît un peu léger.
Perso, je commencerais par tester si la constante est définie, quite à envoyer un message d'erreur ou à utiliser un défaut en cas de pépin. Mais bon, ça dépend du contexte...
Mes deux centimes.
Olivier Miakinen
Le 27/07/2007 17:05, Bruno Desthuilliers répondait à Thief13 :
Mmm... si la constante n'est pas définie, le chemin passé à require va être un poil incomplet. Du point de vue sécurité, il n'y a probablement pas grand risque (puisque constant() retournera NULL s'il n'y a pas de constante correspondante), mais du point de vue robustesse, ça me paraît un peu léger.
Oh, pardon, je n'avais pas réalisé dans ma propre réponse que la fonction constant() faisait partie des fonctions standard de PHP. Bon, je suis d'accord avec Bruno.
Perso, je commencerais par tester si la constante est définie, quite à envoyer un message d'erreur ou à utiliser un défaut en cas de pépin. Mais bon, ça dépend du contexte...
Tout pareil.
Mes deux centimes.
Et je remets un centime dans le nourrain.
Le 27/07/2007 17:05, Bruno Desthuilliers répondait à Thief13 :
Mmm... si la constante n'est pas définie, le chemin passé à require va
être un poil incomplet. Du point de vue sécurité, il n'y a probablement
pas grand risque (puisque constant() retournera NULL s'il n'y a pas de
constante correspondante), mais du point de vue robustesse, ça me paraît
un peu léger.
Oh, pardon, je n'avais pas réalisé dans ma propre réponse que la
fonction constant() faisait partie des fonctions standard de PHP.
Bon, je suis d'accord avec Bruno.
Perso, je commencerais par tester si la constante est définie, quite à
envoyer un message d'erreur ou à utiliser un défaut en cas de pépin.
Mais bon, ça dépend du contexte...
Mmm... si la constante n'est pas définie, le chemin passé à require va être un poil incomplet. Du point de vue sécurité, il n'y a probablement pas grand risque (puisque constant() retournera NULL s'il n'y a pas de constante correspondante), mais du point de vue robustesse, ça me paraît un peu léger.
Oh, pardon, je n'avais pas réalisé dans ma propre réponse que la fonction constant() faisait partie des fonctions standard de PHP. Bon, je suis d'accord avec Bruno.
Perso, je commencerais par tester si la constante est définie, quite à envoyer un message d'erreur ou à utiliser un défaut en cas de pépin. Mais bon, ça dépend du contexte...
Tout pareil.
Mes deux centimes.
Et je remets un centime dans le nourrain.
Thief13
Merci pour votre aide, c'est bien ce que je pensais, y'a pas de risque, mais bon, c'est ZDE qui guelais quand je lançais l'analiseur de code XD
Pour le controle de l'existance de la constante, je m'était dis la meme chose, et je l'avais déjà rajouté.
Merci à vous
Merci pour votre aide, c'est bien ce que je pensais, y'a pas de risque,
mais bon, c'est ZDE qui guelais quand je lançais l'analiseur de code XD
Pour le controle de l'existance de la constante, je m'était dis la meme
chose, et je l'avais déjà rajouté.