3 KiB
3 KiB
Améliorations de Sécurité - Administration
🔒 Corrections Apportées
1. Authentification Sécurisée
- ✅ Hash des mots de passe : Utilisation de
password_hash()etpassword_verify() - ✅ Protection CSRF : Tokens CSRF sur tous les formulaires
- ✅ Limitation des tentatives : Max 5 tentatives, blocage de 15 minutes
- ✅ Sessions sécurisées : Configuration stricte des cookies de session
- ✅ Timeout de session : Déconnexion automatique après 1 heure d'inactivité
2. Validation et Sanitization
- ✅ Échappement HTML : Protection contre XSS
- ✅ Validation des données : Vérification des formats et longueurs
- ✅ Sanitization : Nettoyage des entrées utilisateur
3. Protection des Fichiers
- ✅ Fichiers sensibles cachés :
.htaccesspour protéger config.php - ✅ Headers de sécurité : X-Frame-Options, CSP, etc.
- ✅ Logs de tentatives : Enregistrement des tentatives de connexion
🚀 Installation
Étape 1 : Générer le hash du mot de passe
- Accédez à
admin/generate_password_hash.php - Entrez votre mot de passe actuel
- Copiez le hash généré
- SUPPRIMEZ le fichier
generate_password_hash.php
Étape 2 : Configuration
- Ouvrez
admin/config.php - Remplacez
ADMIN_PASSWORD_HASHpar le hash généré - Ajustez les autres paramètres si nécessaire
Étape 3 : Test
- Testez la connexion avec vos identifiants
- Vérifiez que les tentatives incorrectes sont bloquées
- Testez la déconnexion sécurisée
⚙️ Configuration
Paramètres dans config.php
define('ADMIN_PASSWORD_HASH', 'votre_hash_ici');
define('SESSION_TIMEOUT', 3600); // 1 heure
define('MAX_LOGIN_ATTEMPTS', 5); // 5 tentatives
define('LOGIN_LOCKOUT_TIME', 900); // 15 minutes
🔐 Fonctionnalités de Sécurité
Protection contre les attaques par force brute
- Limitation du nombre de tentatives par IP
- Blocage temporaire après échec
- Délai artificiel sur les tentatives échouées
Protection CSRF
- Token unique par session
- Vérification sur tous les formulaires sensibles
- Régénération automatique des tokens
Gestion des sessions
- Configuration sécurisée des cookies
- Régénération périodique des IDs de session
- Nettoyage complet lors de la déconnexion
📁 Fichiers Modifiés
admin/config.php- Configuration de sécuritéadmin/login.php- Authentification sécuriséeadmin/logout.php- Déconnexion sécuriséeadmin/index.php- Gestion des sessionsadmin/projects.php- Protection CSRF et validationadmin/includes/nav.php- Déconnexion sécuriséeadmin/.htaccess- Protection des fichiersadmin/generate_password_hash.php- Générateur de hash (à supprimer)
⚠️ Important
- Supprimez
generate_password_hash.phpaprès utilisation - Sauvegardez vos données avant mise en production
- Testez toutes les fonctionnalités après déploiement
- Surveillez les logs de tentatives de connexion