La sécurité web
Les erreurs les plus fréquentes, et comment les éviter en tant que développeur.
Ne jamais faire confiance à une saisie
Tout ce qui vient de l’utilisateur peut être piégé : formulaires, adresses, en-têtes. Il faut le valider côté serveur, car ce qui se passe dans le navigateur peut être modifié.
Injection SQL
Si une saisie est collée dans une requête, elle peut en changer le sens. La protection : les requêtes préparées, qui séparent toujours le code des données.
XSS
Si un site affiche une saisie sans la neutraliser, un script peut s’exécuter chez les visiteurs. La protection : échapper à l’affichage et définir une politique de sécurité du contenu (CSP).
Contrôle d’accès
Cacher un bouton ne protège rien. Chaque action doit vérifier côté serveur que la personne a le droit de la faire. C’est l’une des failles les plus fréquentes.
Vérifiez vos acquis
1. Quelle est la meilleure protection contre l’injection SQL ?
Elles empêchent une saisie de devenir du code SQL.
2. Un bouton « Supprimer » est masqué aux non-admins. Est-ce suffisant ?
N’importe qui peut envoyer la requête sans passer par le bouton.
3. La validation dans le navigateur suffit-elle ?
Elle améliore le confort, mais elle se contourne facilement.