Project 2FA Γ¨ un sistema di autenticazione sicuro, scalabile sviluppato in PHP. L'obiettivo principale di questo progetto Γ¨ fornire un'infrastruttura solida per la gestione degli accessi utente, elevando gli standard di sicurezza tramite l'implementazione nativa dell'Autenticazione a Due Fattori (2FA).
- Registrazione Utenti (Signup): Flusso di registrazione completo con script di verifica.
- Login Sicuro: Validazione delle credenziali e gestione sicura delle sessioni.
- Autenticazione a Due Fattori (2FA): Livello di sicurezza aggiuntivo che richiede un'ulteriore validazione o codice per confermare l'identitΓ dell'utente.
- Area Riservata (Home): Dashboard privata accessibile solo dopo aver completato l'intero ciclo di autenticazione.
- Gestione delle Sessioni (Logout): Chiusura pulita e sicura delle sessioni utente.
- UI e Design: Stili centralizzati per garantire un'esperienza utente moderna e professionale.
La struttura del progetto Γ¨ organizzata in moduli funzionali per garantire una facile manutenibilitΓ e una netta separazione delle logiche:
Project_2FA/
βββ authentication.css # Fogli di stile per le interfacce di auth
βββ connection.php # Script per la configurazione e la connessione al database
βββ index.php # Entry point (Gestione del reindirizzamento al login)
βββ home/ # Directory dell'area riservata post-login
β βββ index.php # Pagina principale della dashboard
βββ login/ # Modulo di accesso standard
β βββ index.php # Form di login
β βββ validate.php # Validazione delle credenziali
βββ logout/ # Modulo di disconnessione
β βββ index.php # Script di terminazione sessione
βββ request_2FA/ # Modulo core per la gestione del 2FA
β βββ access.php # Gestione dell'accesso 2FA
β βββ config.php # Configurazioni specifiche del 2FA
β βββ register.php # Registrazione del dispositivo 2FA
β βββ validate.php # Validazione token 2FA
β βββ verify.php # Script di verifica del 2FA
βββ signup/ # Modulo di registrazione utente
βββ index.php # Form di registrazione
βββ register.php # Elaborazione dei dati utente
βββ verify.php # Verifica dell'account creato
- Backend: PHP (Core Logic & Session Management)
- Frontend: HTML5, CSS3
- Database: Integrazione SQL (gestita tramite
connection.php)
- Clona la repository:
git clone https://github.com/tuo-username/project_2FA.git
- Configurazione Database:
- Assicurati di avere a disposizione le tabelle SQL per gli utenti e i token 2FA (se disponibili nel rilascio).
- Modifica il file
connection.phpinserendo le credenziali corrette del tuo database (host, utente, password, nome database).
- Configurazione Server:
- Il progetto richiede un server web (es. Apache o Nginx) con supporto PHP attivo.
- Posiziona la cartella all'interno della Document Root del tuo ambiente locale (es.
htdocs,/var/www/htmlo tramite Laravel Valet / Docker).
- Accesso iniziale:
- Visita
http://localhost/project_2FAper avviare il sistema (l'index.phpprincipale reindirizzerΓ automaticamente al modulo di login).
- Visita
In ambienti di produzione si raccomanda fortemente di:
- Erogare l'applicazione esclusivamente su connessioni protette HTTPS.
- Tenere riservati eventuali secret o chiavi archiviate in
request_2FA/config.php. - Sfruttare algoritmi di hashing robusti (es.
password_hash()in PHP) per memorizzare le credenziali.
Le Pull Request sono sempre le benvenute. Per modifiche importanti, cambiamenti di logica core o estensioni al sistema 2FA, si prega di aprire prima una issue per discutere l'implementazione proposta.