← Accueil Fonctionnalités Ressources Contact
Demander une démo →
Protection des données
🛡️

Vos données,
blindées.

9 couches de protection indépendantes. Zéro fuite depuis le déploiement. Conçu pour les administrations qui ne peuvent pas se permettre de prendre des risques.

Évaluation sécurité interne
Résultats après audit complet du code et de l'infrastructure.
Chiffrement & Transport100%
Protection CSRF & XSS100%
Contrôle d'accès par rôle100%
Audit & Traçabilité100%
Gestion des sessions100%
Sécurité des fichiers100%
0
Fuite de données
28'
Expiration session
14j
Sauvegardes conservées
9
Couches de protection
9 couches, une forteresse.

Chaque couche protège indépendamment. Si l'une est contournée, les huit autres tiennent.

COUCHE 01
🔐
HTTPS + HSTS forcé
Toutes les communications sont chiffrées TLS. Le header HSTS force le navigateur à utiliser HTTPS pendant 1 an, même si l'utilisateur tape http://.
Protocole: TLS 1.2+
COUCHE 02
🛡️
Protection CSRF
Chaque formulaire génère un token cryptographique unique et à usage unique. Il est impossible de soumettre des données depuis un site externe ou un script malveillant.
Token: 32 bytes aléatoires
COUCHE 03
🧹
Sanitisation XSS
Chaque donnée affichée est filtrée via htmlspecialchars(). Les balises script, les attributs onclick, les URLs javascript: sont tous neutralisés avant affichage.
Filtre: htmlspecialchars ENT_QUOTES
COUCHE 04
⏱️
Session 28 minutes
Après 28 minutes d'inactivité, l'utilisateur reçoit un avertissement 2 minutes avant expiration. Un clic "Rester connecté" prolonge la session. Idéal sur postes partagés.
Warning: T-2min · Expiration: T+0
COUCHE 05
🗝️
Mots de passe forts
Score minimum 4/5 exigé à la création. Blocage du compte après 5 tentatives échouées. Changement obligatoire au premier login. Hash bcrypt avec sel aléatoire.
Hash: bcrypt cost=12
COUCHE 06
🚫
Path Traversal bloqué
Chaque nom de fichier est nettoyé des séquences "../", "\\", "\0", "//". Le chemin réel est vérifié avec realpath() pour s'assurer qu'il reste dans le dossier uploads.
Protection: str_replace + realpath()
COUCHE 07
👁️
Fichiers via proxy sécurisé
Les documents uploadés ne sont jamais accessibles par URL directe. Chaque accès passe par download.php qui vérifie les droits de l'utilisateur avant de servir le fichier.
Proxy: download.php avec vérif. session
COUCHE 08
🎭
Contrôle d'accès par rôle
6 rôles aux permissions distinctes. Chaque page vérifie le rôle avant affichage. Un agent ne voit que ses dossiers. Les dossiers confidentiels sont masqués aux non-autorisés.
6 rôles · permissions granulaires
COUCHE 09
📋
Journal d'audit complet
Chaque action sensible est enregistrée avec l'IP, l'horodatage exact et l'identité de l'utilisateur. Détection automatique des IPs suspectes. Export CSV disponible.
∞ entrées · export CSV · alertes IP
Chaque action, tracée.

Voici à quoi ressemble le journal d'audit de CourrierFlex. Chaque ligne est une action réelle, horodatée et attribuée.

09:14:23Amadou SOWLOGIN_SUCCESSIP: 41.214.xx.xx · Firefox 124 · Windows
09:15:01Amadou SOWCE_VIEWARR-2026-0034 — Demande autorisation marché travaux
09:17:44Moustapha BADOC_UPLOADARR-2026-0031 · RAPPORT_ANALYSE.docx · 184 Ko
09:22:18Admin SystèmeASSIGNATIONARR-2026-0036 → Agent assigné · Priorité: Urgente
09:31:07— inconnu —LOGIN_FAILIP: 197.x.x.x · Tentative 1/5 · Compte: directeur
09:31:19— inconnu —LOGIN_FAILIP: 197.x.x.x · Tentative 2/5 · Compte: directeur
09:45:33Houlèye DIALLOVALIDATIONARR-2026-0029 validé · Commentaire: "Dossier complet"
10:02:11Admin SystèmeBACKUP_DONESauvegarde complète · 4.2 Mo · 18/05/2026 02:00
10:18:47Agent B.CE_CREATEARR-2026-0037 · Nouvelle demande · PDF joint
IP
Chaque connexion tracée
CSV
Export complet disponible
🚨
Alertes IP suspectes auto
Ce qui se passe
à chaque connexion.

Voici les vérifications effectuées automatiquement de la connexion à la déconnexion.

1️⃣

Vérification des credentials

Mot de passe comparé au hash bcrypt en base. Si 5 tentatives échouées → compte bloqué automatiquement.

Bcrypt cost=12
2️⃣

Régénération de l'ID de session

session_regenerate_id() est appelé après login pour éviter les attaques de fixation de session.

Anti session fixation
3️⃣

Log de l'action de connexion

IP, user-agent, horodatage exact enregistrés dans audit_log. Chaque connexion est irréfutable.

LOGIN_SUCCESS enregistré
4️⃣

Timer de session démarré

Le compteur de 28 minutes commence. Chaque clic ou frappe remet le compteur à zéro.

T-2min: avertissement popup
5️⃣

Vérification du rôle à chaque page

requireRole() vérifie les droits à chaque chargement de page. Un agent qui essaie d'accéder à une page admin est redirigé.

Redirection si accès non autorisé
6️⃣

Déconnexion propre

session_destroy() + suppression du cookie. Le scroll sidebar est effacé de sessionStorage. Audit log de la déconnexion.

LOGOUT enregistré
Headers de sécurité HTTP
Strict-Transport-Security
max-age=31536000; includeSubDomains
X-Frame-Options
SAMEORIGIN
X-Content-Type-Options
nosniff
Referrer-Policy
strict-origin-when-cross-origin
Content-Security-Policy
default-src 'self'; script-src 'self'
Session Cookie
HttpOnly; Secure; SameSite=Strict
💾 Sauvegarde automatique
Chaque nuit à 2h00, une sauvegarde complète de la base de données est créée. 14 jours glissants sont conservés. Un verrou flock() empêche les doubles exécutions. Restauration en <10 minutes.
Construit selon les
standards modernes.

CourrierFlex respecte les bonnes pratiques de sécurité des applications web gouvernementales.

OWASP Top 10 mitigé

Les 10 vulnérabilités les plus critiques (injections, XSS, CSRF, broken auth, etc.) sont toutes adressées et mitigées dans le code.

Injection SQL impossible

100% des requêtes utilisent PDO avec paramètres liés (prepare/execute). Aucune concaténation de variable dans les requêtes SQL.

Upload sécurisé

Validation du type MIME réel (pas seulement l'extension), limite de taille, renommage aléatoire, stockage hors webroot.

Pas de données sensibles en clair

Mots de passe hashés bcrypt. Cookies HttpOnly et Secure. Aucun token ou mot de passe dans les URLs ou logs.

Gestion des erreurs sécurisée

Les messages d'erreur en production ne révèlent aucune information technique sur la structure de la base ou du code.

Dépendances minimales

Pas de framework externe vulnérable. Bootstrap et SweetAlert2 depuis CDN avec intégrité SRI. Code PHP natif robuste.

La sécurité n'est pas une option.

CourrierFlex a été conçu pour les administrations qui gèrent des données sensibles et ne peuvent pas se permettre une faille.

Demander une démo →