in merito a quanto detto da mzanella, vi sarei molto grato se potesse farmi vedere come si fa a rendere piu aggiornato e sicuro questo script di login. grazie
Per quanto riguarda l'uso di MySQLi o PDO, basta scegliere uno dei due. Se hai già qualche esperienza con un qualunque altro linguaggio di programmazione orientato agli oggetti ti suggerisco PDO , altrimenti MySQLi nella sua "versione" procedurale, che è quasi identica al vecchio MySQL che stai utilizzando. Trovi un esempio nella documentazione, alla "sezione" Stile procedurale. Se hai bisogno di una guida c'è quella del manuale, oppure una guida introduttiva qualunque: MySQLi Procedural Functions, MySQLi for beginners (quest'ultima riguarda la "versione" ad oggetti).
Per la cifratura delle password, devi modificare lo script per la registrazione usando password_hash, ad esempio:
Codice PHP:
...
$hashed_password = password_hash($_POST['password'], PASSWORD_DEFAULT);
...
$query = "INSERT INTO panelusers (..., pass, ...) VALUES(..., $hashed_password, ...)";
...
Quindi usare password_verify nello script di connessione:
Codice PHP:
$link = mysqli_connect(...);
...
$query = "SELECT * FROM panelusers WHERE user = '$username'";
$result = mysqli_query($link, $query) or die(...);
$user = mysqli_fetch_assoc($result);
if ($user === false) {
echo "Nessun utente con il nome utente indicato";
// Viene gestito l'errore...
}
if (password_verify($_POST['password'], $user['pass'])) {
echo "Password corretta";
// Si procede al login...
}
else {
echo "Password errata";
// Viene gestito l'errore
}
Attenzione che cambiando il meccanismo con cui verifichi le password, quelle già memorizzate "non funzioneranno più", bisognerà inserirle da 0. Attenzione anche al tipo della colonna che usi nella base di dati, deve essere abbastanza grande per contenere la stringa di hash: CHAR(256) dovrebbe andare bene.
Ti suggerisco di intervenire sulle questioni passare da mysql a mysqli/PDO e cifratura delle password separatamente: sistema prima una cosa, poi l'altra, nell'ordine che preferisci.
Se hai bisogno di altro non farti scrupoli a chiedere .