-
Interpréter une formule
Bonjour,
j'aurai besoin d'interpréter des formules saisies par des utilisateurs donc susceptibles de contenir des erreurs. J'ai tenté d'utiliser la fonction eval() mais celle-ci ne me permet pas de contrôler les erreurs de saisies et s'avère trop dangeureuse en cas d'insertion de code malveillant ?
Auriez-vous une idée d'alternative ou d'utilisation bien fondée de la fonction eval ?
D'avance merci !
-
Salut,
la dangerosité d'eval() sur les saisies utilisateurs est telle qu'il faut s'en passer coûte que coûte à moins de monter une usine à gaz pour parser, valider et autoriser l'exécution de la saisie.
D'ailleurs, qu'est-ce-qui nécessite la possibilité d'exécuter du code utilisateur sur le serveur ?
-
Salut rawsrc
la "nécessité" réside dans le besoin d'une interface web de saisie de formules budgétaires en référence aux cellule d'un pseudo-tableur. Ces formules doivent être conservées littéralement (ex "(C1+C2) / 100") en BD et interprétées pour en afficher le résultat.
-
Bah tu y couperas pas : va falloir coder un parser spécifique à ce genre de fonctionnalité exotique. Et là je te souhaite bon courage.
Je t'invite à lire quand même l'avertissement concernant eval()