1. Pas de HTTPS partout
"Mon site n'a pas de formulaire, je n'ai pas besoin de HTTPS." Faux. Sans HTTPS, un attaquant peut modifier le contenu affiché à vos visiteurs (injection de publicités, redirection vers des sites malveillants). Google pénalise aussi les sites non-HTTPS dans ses résultats.
Fix : Un certificat Let's Encrypt est gratuit. Il n'y a plus aucune excuse.
2. Headers de sécurité absents
La majorité des sites n'envoient aucun header de sécurité. Pas de Content-Security-Policy, pas de X-Frame-Options, pas de Strict-Transport-Security.
Ces headers prennent 5 minutes à configurer et bloquent des catégories entières d'attaques.
Fix : Ajoutez au minimum X-Content-Type-Options: nosniff, X-Frame-Options: DENY et Strict-Transport-Security.
3. Dépendances jamais mises à jour
Votre site tourne sur une version de WordPress, React ou Express qui date de 2 ans ? Chaque jour qui passe, de nouvelles vulnérabilités sont découvertes dans les versions obsolètes.
Fix : Mettez en place un processus de mise à jour mensuel. Outils comme Dependabot ou Renovate automatisent le processus.
4. Formulaires sans validation serveur
Valider côté client (JavaScript), c'est bien pour l'UX. Mais ça ne protège rien : un attaquant contourne la validation client en quelques secondes.
Fix : Toute donnée entrante doit être validée côté serveur. Des outils comme Zod (TypeScript) rendent ça simple et déclaratif.
5. Messages d'erreur trop détaillés
"Erreur SQL : table users, colonne password" — ce message d'erreur est un cadeau pour un attaquant. Il révèle votre structure de base de données.
Fix : En production, affichez des messages génériques ("Une erreur est survenue"). Loguez les détails côté serveur, pas côté client.
Vérifiez votre site
Un audit rapide avec WarDek détecte automatiquement ces 5 erreurs (et bien d'autres). Le scan prend moins de 5 minutes.