Originariamente inviato da edo89b
Il sistema di autenticazione l'ho realizzato nel seguente modo.
Come prima cosa ho creato un Database mysql contentne i seguenti campi
id_utente
username
password
nome
cognome
email
Nel campo password ho messo la password dell'utente criptata, da confrontare con la password che inserira l'utente.
Per l'autenticazione ho creato diverse funzioni
Funzione 1 - Login
Funzione Login, riceve come parametri i dati di autenticazione (user e pass) che vengono inseriti nel form dall'utente, questa funzione sarà richiamata dalla pagina princiapale quando l'utente invia il form.
Eseguo le seguenti operazioni:
Raccolgo tutti i dati dal DB utenti
Verifico se i dati dell'utente corrispondono a quelli inseriti.
scrivo due valori in due variabili di sessione per ricordarmi che l'utente e connesso.
Visto che questo portale contiene dati sensibili avviso subito l'utente che è stato effettuato l'accesso, inviando una mail all'indirizzo utente nel db contenute l'username, l'ora e l'indirizzo ip.
Scrivo in un altra tabella nel db che ho chiamato log_accessi, tutti i dati dell'utente compreso l'indirizzo IP.
Funzione 2 - Logout
Questa funzione non riceve nessun parametro in ingresso, viene richiamata quando premo il tasto logout e semplicemente distrugge tutte le varibili sessione.
funzione 3 - Auth
Questa funzione viene eseguita all'inizio della pagina e verifica se l'utente è connesso.
Nel caso sia connesso restituisce una variabile $user contente una serie di dati dell'utente.
Per vedere se l'utente e connesso dopo aver richiamato questa funzione verifico i parametri di questa variabili.
Parametri di esempio:
auth -> Vero se l'utente è autenticato
admin -> Vero se l'utente è amministratore
username -> Username utente
ecc.
Fine delle funzioni
Non posso darti il sorgente comunque ho descritto in modo molto dettagliato il meccanismo di autenticazione.
Inpiu per maggiore sicurezza ho creato un algoritmo che cripta eescripta tutti i dati inseriri nel database.
Adesso sto sviluppando il sistema che per completare l'auteticazione devi inseriri deu ulteriori codici uno ricevuto per e-mail e l'altro per sms.
Se vuoi vedere invece come funziona lato utente il sistema scrivimi un messaggio privato che ti mando un accesso di test.
Ciao
Buona Serata