Formulaires
Recevoir des données d'un inconnu sans lui faire confiance.
Gestion des formulaires et validation
Un formulaire est le seul endroit d'une application web où un inconnu écrit directement dans votre système. Tout ce qui en sort est suspect : un champ requis vide, un âge négatif, une adresse électronique inventée, un nom de deux mille caractères, un <script> dans un commentaire, une valeur envoyée depuis un client qui n'est pas votre page.
La difficulté n'est pas de lire les paramètres — getParameter suffit. Elle est ailleurs, dans trois problèmes que les tutoriels superficiels sautent volontiers.
Le premier est l'encodage. Un visiteur saisit « Genève », vous enregistrez « Genève ». Le bug n'apparaît que sur les accents, donc jamais dans les jeux de test anglophones, et sa correction ne se trouve pas là où on la cherche : ni dans la page, ni dans la base, mais dans un filtre appliqué à la requête avant toute lecture.
Le deuxième est le réaffichage. Un formulaire rejeté doit revenir à l'utilisateur avec ses saisies conservées et les messages d'erreur placés à côté des champs concernés. Le vider, c'est faire retaper huit champs à cause d'une case oubliée — et c'est la première cause d'abandon d'un tunnel de commande.
Commentaires
Les commentaires sont alimentés par GitHub Discussions
Connectez-vous avec GitHub pour participer à la discussion