Memorizza account con cookie

Avete presente quando per loggarsi si ha l'opzione di "prolungare la sessione" come in questo forum?

Bene, dovendo realizzare una cosa del genere, vorrei sapere da voi se ho capito bene come si fa.

Innanzitutto si invia in questo modo un cookie, che chiamiamo accesso, con i dati dell'account:

setcookie ("accesso", $utente|$password_hashata_md5, $scadenza);

Quindi per riconoscere l'utente pensavo di procedere così:

if (isset ($_COOKIE['accesso']))  {
$account = $_COOKIE['accesso'];
$account = explode ("|", $account);
$query = mysql_query ("SELECT * FROM utenti WHERE utente='$account[0]' and password='$account[1]'");
if (mysql_num_rows ($query) != 1) // DATI ERRATI
else  // DATI CORRETTI
}

Poiché la password è già hashata nel cookie va fatto un confronto diretto con quella nel database.

Comunque pensavo che, se qualche malintenzionato riuscisse a copiarsi il cookie di un utente registrato, accederebbe senza problemi password hashata o meno...

Ci siamo nelle linee generali?

 :bye:

inviato 10 anni fa
usecram
X 0 X

Si, il principio è quello. Ed è inevitabile che il furto del cookie porti ai problemi che hai evidenziato.

Poiché l'MD5 è un hash prossimo "alla sconfitta" converrebbe usare qualcosa di più forte (SHA1):

http://it2.php.net/manual/it/function.sha1.php

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Grazie per avermi rassicurato e per la dritta sull'hash

risposto 10 anni fa
usecram
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda

Domande simili