1. HTTPS obligatoire

Tout site doit être servi en HTTPS avec un certificat SSL valide. C'est non négociable.

2. Headers de sécurité

X-Frame-Options, Content-Security-Policy, Strict-Transport-Security : ces headers protègent contre les attaques courantes.

3. Protection CSRF

Chaque formulaire doit inclure un token CSRF unique pour empêcher les soumissions frauduleuses.

4. Requêtes préparées

Utilisez TOUJOURS des requêtes préparées (PDO) pour interagir avec la base de données. Jamais de concaténation SQL.

5. Échappement des sorties

htmlspecialchars() sur TOUTES les données affichées pour prévenir les attaques XSS.

6. Mots de passe sécurisés

password_hash() avec bcrypt (coût 12 minimum) pour le stockage, password_verify() pour la vérification.

7. Rate limiting

Limitez les tentatives de connexion (5 max / 5 min) et les soumissions de formulaires.

8. Gestion des sessions

session_regenerate_id(true) après chaque connexion pour prévenir le vol de session.

9. Fichiers sensibles protégés

Bloquez l'accès aux fichiers .env, .sql, .log, .bak via .htaccess.

10. Mises à jour régulières

Maintenez vos dépendances à jour et surveillez les vulnérabilités connues.