Le vendredi 09 octobre 2015 à 13:27, andre_deb...@numericable.fr a écrit :
> Je ne sais plus qui, je ne sais plus quand (ça a été tronqué) a écrit :
> > pour la sécurité d'une page Internet dynamique tout 
> > les arguments passés a une page Internet, qu'ils soit 
> > par l'URL ou par des formulaires, sont à considérer
> > comme potentiellement dangereux :
> 
> Le PHP est un langage de sites dynamiques,
> comment faire autrement ?

PHP a une très mauvaise réputation de nid à failles. Cette réputation n'est pas
forcément très objective mais parmi les arguments qui l'ont faite, on trouve :
    - que l'API n'est pas très rigoureuse;
    - qu'on peut développer un site en PHP sans trop de connaissances (et donc
      sans forcément trop de sécurité non plus).

> "php.ini" traite les variables de formulaires,
> selon le mode "register_global = off",
> avec transmission de la variable à la page de traitement par :
> ...$_POST["name"]...
> Que peut-on faire de plus ?

Ma réponse est indépendante du langage utilisé et vaut autant pour PHP que pour
tout autre langage utilisé pour créer des sites dynamiques (et même d'une
manière large des programmes client/serveur) :

    Ne _jamais_ faire confiance à ce qui arrive du client !

Tu considères que tout est douteux et tu vérifies _scrupuleusement_ tout ce qui
arrive :
    - est-ce que le nombre que tu attends est bien seulement un nombre;
    - est-ce que la chaîne que tu attends ne contient pas de quoi faire de
      l'injection SQL;
    - est-ce que la chaîne que tu attends ne contient pas de quoi faire du XSS;
    - etc.

Pour ça, les expressions rationnelles sont un très bon allié.

Sébastien

Répondre à