Projet Authentification Sécurisée en PHP

Description Générale

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.

Technologies Utilisées

Structure du Projet

Fonctionnalités Clés

🔐 Double Authentification par Google Authenticator (TOTP)

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.

📧 Double Authentification via E-mail (PHPMailer)

Cette solution génère un code aléatoire (6 chiffres) envoyé par e-mail à l’utilisateur après sa connexion avec identifiants classiques.

📜 Logs de 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.

Conclusion

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.

📷 Illustrations et Captures d’Écran

📁 Tables MySQL

Table des utilisateurs (users) :

table users

📜 Interface de connexion

Cette page affiche un Formulaire de connexion ou l'utilisateur est invité à rentrer son nom d'utilisateur et son mot de passe:

affichage des logs

📜 Interface des logs

Cette page affiche les connexions réussies ou échouées dans un tableau structuré et sécurisé :

affichage des logs

📧 Vérification par e-mail

Formulaire de saisie du code reçu par e-mail (via PHPMailer) :

verification mail

📱 Google Authenticator

Page de vérification avec code temporaire généré par Google Authenticator :

google authenticator