Re: [HS] suite d'opérations arithmétiques en php
Le 12/02/21 à 20:11, "ajh-valmer" <ajh.valmer@free.fr> a écrit :
> > > https://www.php.net/manual/fr/language.operators.arithmetic.php
> > > https://www.php.net/manual/fr/ref.math.php
>
> >Reformule la question en donnant un exemple, car d'après ce que
> >tu as énoncé, la réponse est dans ces 2 pages sus citées :
>
> La voici :
C'est un fichier php que tu fais passer par un serveur web qui interprète le php ?
Parce que je vois pas les tags
<?php
// ici c'est du php
?>
<!-- et ici du html -->
> <input type="text" name="suiteope">
> Entrer la suite d'opérations : 2+9*5-7
> VALIDER :
> echo 2+9*5-7; # code PHP
> réponse : 2+9*5-7
>
> Par contre, codes à remplacer / ajouter :
> $opar=$suiteope;
> echo suiteope. ' = ';
> print("<b>");
> echo eval("return $opar ;" );
Il ne faut JAMAIS faire de eval sur du texte entré par un utilisateur !
Ici tu fais exécuter par ton serveur du code demandé par celui qui se balade sur ton site,
essaie de taper
readfile('/etc/passwd')
dans ton champ pour voir ce que ça donne ;-)
D'une manière générale, si tu vois du eval dans du code, quel que soit le langage, y'a de
sérieuses questions à se poser, les cas où on en a besoin sont vraiment rares (mais ça arrive),
et tu devrais jamais en avoir besoin en js ou php.
> $erreur=eval("return $opar;");
> print("</form>");
>
> Maintenant, le résultat m'affiche bien : 2+9*5-7 = 40
>
> Solution trouvée par hasard sur un site en anglais.
Fais quand même attention au code que tu mets dans tes pages, les tutoriels qui te proposent de
créer une grosse faille de sécurité sur ton site sont très très nombreux…
> Faut muscler le php, c'est dans "l'air du temps" :-)
Ça, j'en suis pas convaincu ;-)
--
Daniel
Si je pouvais choisir le jour de ma mort, je choisirais plutôt le lendemain.
Philippe Geluck, Le chat
Reply to: