Ce projet propose deux systèmes de double authentification (2FA) pour renforcer la sécurité d’un site : l’un utilisant l’envoi de code par email (PHPMailer), l’autre s’appuyant sur Google Authenticator (TOTP). Il inclut également la journalisation des connexions, une inscription sécurisée et un espace utilisateur.
index.php
: connexion utilisateur.register.php
: création de compte.accueil.php
: page après connexion réussie.log.php
: affichage sécurisé des journaux de connexions.verify.php
: saisie et vérification du code 2FA.database.php
: configuration MySQL.password_hash()
.Cette méthode repose sur la génération d’un code à usage unique, qui change toutes les 30 secondes, synchronisé avec l’horloge du serveur et une clé secrète partagée avec l'application Google Authenticator.
Cette solution génère un code aléatoire (6 chiffres) envoyé par e-mail à l’utilisateur après sa connexion avec identifiants classiques.
verify.php
pour terminer la connexion.
Toutes les tentatives de connexion sont enregistrées dans une table logs
, avec :
Une interface dédiée (protégée) permet de visualiser l’historique.
Ce projet propose deux approches de double authentification (e-mail vs TOTP), apportant une excellente base pour tout système sécurisé. L'intégration des logs renforce encore plus le contrôle sur les accès, avec des outils simples et efficaces à déployer dans n’importe quelle architecture PHP.
Table des utilisateurs (users
) :
Cette page affiche un Formulaire de connexion ou l'utilisateur est invité à rentrer son nom d'utilisateur et son mot de passe:
Cette page affiche les connexions réussies ou échouées dans un tableau structuré et sécurisé :
Formulaire de saisie du code reçu par e-mail (via PHPMailer) :
Page de vérification avec code temporaire généré par Google Authenticator :