Re: [HS] suite d'opérations arithmétiques en php

2021-02-18 Par sujet ajh-valmer
On Monday 15 February 2021 19:16:02 Daniel Caillibaud wrote:
> Le 12/02/21 à 20:11, "ajh-valmer"  a écrit :
> > $opar=$suiteope;
> > echo suiteope. ' = ';
> > print("");
> > echo eval("return $opar ;" );

> Il ne faut JAMAIS faire de eval sur du texte entré par un utilisateur !

> Si c'est valide, gros bug de conception de PHP.

Je le crois bien.
C'est indiquer sur : www.php.net/manual/fr/function.eval.php
"Son utilisation est vivement déconseillée"

Alors remplacer "eval" par quel  autre script ?

Merci

A. Valmer



Re: [HS] suite d'opérations arithmétiques en php

2021-02-16 Par sujet Vincent Lefevre
On 2021-02-15 19:16:02 +0100, Daniel Caillibaud wrote:
> Le 12/02/21 à 20:11, "ajh-valmer"  a écrit :
> > 
> > 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("");
> > echo eval("return $opar ;" );
> 
> Il ne faut JAMAIS faire de eval sur du texte entré par un utilisateur !

Si c'est valide, gros bug de conception de PHP!

Par exemple en Perl:

$ echo 'print "OK\n"' | perl -Te 'eval '
Insecure dependency in eval while running with -T switch at -e line 1,  
line 1.

-- 
Vincent Lefèvre  - Web: 
100% accessible validated (X)HTML - Blog: 
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)



Re: [HS] suite d'opérations arithmétiques en php

2021-02-15 Par sujet Daniel Caillibaud
Le 12/02/21 à 20:11, "ajh-valmer"  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




> 
> 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("");
> 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("");
> 
> 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



Re: [HS] suite d'opérations arithmétiques en php

2021-02-12 Par sujet ajh-valmer
On Thursday 11 February 2021 22:00:36 Daniel Caillibaud wrote:
> Le 11/02/21 à 15:20, "ajh-valmer"  a écrit :
> > php -r 'echo 2+9*5-7;'` : ne fonctionne pas.

> Alors il te manque le paquet php-cli :
Il est installé.

> > 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 :

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("");
echo eval("return $opar ;" );
$erreur=eval("return $opar;");
print("");

Maintenant, le résultat m'affiche bien : 2+9*5-7 = 40

Solution trouvée par hasard sur un site en anglais.

Faut muscler le php, c'est dans "l'air du temps" :-)



Re: [HS] suite d'opérations arithmétiques en php

2021-02-11 Par sujet Daniel Caillibaud
Le 11/02/21 à 15:20, "ajh-valmer"  a écrit :
> php -r 'echo 2+9*5-7;'` : ne fonctionne pas.

Alors il te manque le paquet php-cli

> > Commence plutôt par https://www.php.net/manual/fr/
> > Tu trouveras la réponse facilement avec le lien précédent, dont
> > https://www.php.net/manual/fr/language.operators.arithmetic.php
> > https://www.php.net/manual/fr/ref.math.php  
> 
> Ai évidement lu toutes ces pages.

Et pas trouvé la réponse ?
Dans ce cas reformule la question en donnant un exemple, car d'après ce que tu 
as énoncé la
réponse est dans ces 2 pages.

> Comme d'autres sujets qui n'ont rien à voir avec debian, ni même avec linux,
> et ne subissent pas cette remarque.

Ça, libre à celui qui répond de le faire remarquer ou pas ;-)

Mais tu noteras que cette remarque était précédé des pointeurs précis vers la 
réponse au pb,
même s'il était complètement HS ici.

-- 
Daniel

Le génie consiste à voir ce que tout le monde a vu
et à penser ce que personne n'a pensé.