Mi piacerebbe creare un semplice sistema di login/registrazione utente usando PHP e mysql. Non ho bisogno di ottenere informazioni oltre a quelle necessarie per l'accesso e la disconnessione dell'utente. Voglio assicurarmi che il sistema sia sicuro.Sistema di accesso/registrazione con php e mysql
Il modo che ho attualmente a capire come dovrebbe funzionare è:
Registrazione
utente inserisce il proprio indirizzo email e la password e la password di conferma.
Lo script PHP si assicura che le password corrispondano e che l'e-mail sia un indirizzo valido e non sia già nel database.
Assegna la password con un salt casuale e memorizza la password salt hash e risultante nel database. (La funzione md5 di php è adatta?)
Archiviare un codice di conferma tramite e-mail nel database e inviare l'indirizzo e-mail fornito un collegamento al sito Web che contiene quel codice per la verifica ?
Accesso
input dell'utente il proprio indirizzo email e la password.
Il server ricerca l'e-mail nel database e recupera il sale. Quindi blocca il sale con la password che l'utente ha appena fornito per vedere se corrisponde a quella nel database.
Come faccio a mantenere la sessione persa dopo l'accesso. Con una sessione PHP? Un biscotto? Cosa dovrebbe essere memorizzato nel cookie per ricordare l'utente tra una visita e l'altra?
Fondamentalmente vorrei solo verificare che il processo che sto descrivendo sia un modo accurato e sicuro di eseguire la registrazione/login dell'utente. Inoltre, quali sono alcuni buoni tutorial con maggiori informazioni.
Vorrei solo aggiungere che ho trovato una buona risposta su un'altra domanda sulla parte di hashing in particolare. http://stackoverflow.com/questions/401656/secure-hash-and-salt-for-php-passwords – Mike