first commit
This commit is contained in:
commit
b216a187bd
34 changed files with 4829 additions and 0 deletions
83
admin/SECURITY_README.md
Normal file
83
admin/SECURITY_README.md
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
# Améliorations de Sécurité - Administration
|
||||
|
||||
## 🔒 Corrections Apportées
|
||||
|
||||
### 1. Authentification Sécurisée
|
||||
- ✅ **Hash des mots de passe** : Utilisation de `password_hash()` et `password_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** : `.htaccess` pour 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
|
||||
1. Accédez à `admin/generate_password_hash.php`
|
||||
2. Entrez votre mot de passe actuel
|
||||
3. Copiez le hash généré
|
||||
4. **SUPPRIMEZ le fichier** `generate_password_hash.php`
|
||||
|
||||
### Étape 2 : Configuration
|
||||
1. Ouvrez `admin/config.php`
|
||||
2. Remplacez `ADMIN_PASSWORD_HASH` par le hash généré
|
||||
3. Ajustez les autres paramètres si nécessaire
|
||||
|
||||
### Étape 3 : Test
|
||||
1. Testez la connexion avec vos identifiants
|
||||
2. Vérifiez que les tentatives incorrectes sont bloquées
|
||||
3. Testez la déconnexion sécurisée
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
### Paramètres dans config.php
|
||||
```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ée
|
||||
- `admin/logout.php` - Déconnexion sécurisée
|
||||
- `admin/index.php` - Gestion des sessions
|
||||
- `admin/projects.php` - Protection CSRF et validation
|
||||
- `admin/includes/nav.php` - Déconnexion sécurisée
|
||||
- `admin/.htaccess` - Protection des fichiers
|
||||
- `admin/generate_password_hash.php` - Générateur de hash (à supprimer)
|
||||
|
||||
## ⚠️ Important
|
||||
|
||||
1. **Supprimez** `generate_password_hash.php` après utilisation
|
||||
2. **Sauvegardez** vos données avant mise en production
|
||||
3. **Testez** toutes les fonctionnalités après déploiement
|
||||
4. **Surveillez** les logs de tentatives de connexion
|
||||
Loading…
Add table
Add a link
Reference in a new issue