Avant de déployer vérifie SÉCURITÉ
Règles de développement — Sécurité obligatoire
Clés API & secrets
- Jamais de clé API dans le code frontend ou dans le repo Git
- Toujours stocker en variables d’environnement côté serveur
- Pour WordPress : wp_options + chiffrées, jamais exposées en front-end
- Clés avec permissions minimales (moindre privilège)
Authentification & sessions
- Chaque route vérifie l’authentification côté serveur
- Tokens avec expiration
- Sessions invalidées à la déconnexion côté serveur
- Rate limiting sur les endpoints d’auth et sensibles
- Mots de passe hachés avec bcrypt ou argon2 uniquement
- Messages d’erreur génériques (ne pas révéler si un email existe)
Base de données
- Requêtes paramétrées uniquement — zéro concaténation SQL
- Utilisateur DB non-root avec droits minimaux
- Inputs validés et sanitizés côté serveur
- Bases dev et production séparées
Headers HTTP & HTTPS
- HTTPS imposé partout, HTTP redirigé
- HSTS activé (max-age long + includeSubDomains)
- CORS verrouillé sur le domaine — jamais de wildcard *
- Headers : Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy
- Cookies : HttpOnly, Secure, SameSite=Strict ou Lax
Protection des requêtes
- Tokens CSRF sur tous les formulaires qui modifient des données
- Pagination sur tous les endpoints de liste
Uploads & fichiers
- Type MIME vérifié côté serveur (pas seulement l’extension)
- Taille maximale des fichiers limitée
- Fichiers uploadés hors du webroot ou bucket isolé
- Exécution de scripts interdite dans le dossier uploads
Autorisations & logique métier
- Vérification IDOR : droits vérifiés au niveau de l’objet, pas seulement de la route
- Actions destructives derrière confirmation + re-vérification des droits
- Jamais de stack traces exposées en production
Déploiement
- Variables d’environnement définies sur le serveur de production
- Pare-feu : seulement ports 80/443 publics
- Plan de rollback documenté
- Tests staging avant déploiement production
Dépendances & code
- npm audit exécuté, problèmes critiques résolus
- composer audit exécuté (PHP/WordPress)
- Pas de console.log dans la build de production
- Gestion d’erreurs sur toutes les opérations asynchrones
Logs & monitoring
- Logs ne contenant jamais de données sensibles (tokens, mots de passe, PII)
- Alertes sur tentatives de login répétées
Spécifique WordPress
- readme.html supprimé, meta generator retiré
- xmlrpc.php désactivé si non utilisé
- Préfixe des tables DB personnalisé
- wp-config.php hors webroot ou permissions 400
- Plugins/thèmes inutilisés supprimés (pas seulement désactivés)
Instruction pour Claude
Si je code une route, un formulaire, un upload, une auth ou une
intégration API sans appliquer ces règles, signale-le immédiatement
et propose la correction.
EOF