- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- recupero password esadecimale da mysql
-
recupero password esadecimale da mysql
Salve a tutti,
vorrei cortesemente porvi un quesito: ho creato un tabella utenti dove la password viene inserita e nascosta in esadecimale, penso, tramite una funzione mysql:code: mysql_query("INSERT INTO users (nick, pssw, nome, email, data_reg) VALUES ('$sy_nick',PASSWORD('$sy_pssw'),'$sy_nome','$sy_email',NOW())");
Adesso ho creato il modulo di recupero password, ovvero l'utente, nel caso dimenticasse la password, può inserire l'email di registrazione e i dati vengon o recuperati dal db e inviati all'indirizzo di posta. Il recupero avviene tramite query e assegnazione ad un array:
code: $query=mysql_query("SELECT * FROM users WHERE email='".$_POST['email']."'"); $valori=mysql_fetch_array($query);
Il problema è che la password senza una funzione inversa(che non so dove mettere)resta criptata e non mi viene data, come faccio a riconvertirla in modo che l'utente possa leggerla?Grazie a tutti anticipatamente, saluti [clap]
-
Attento:
$query=mysql_query("SELECT * FROM users WHERE email='".$_POST['email']."'"); è il modo migliore per farti fare mysql_injbutto un codice a caso...
se $_POST è qualcosa tipo:asd' OR 1=1' la query funziona.
- fai un escapa degli apici.
- controlla con una regex che $_POST['email'] sia un'email valida
Ps per poter recuperare una password, devi usare un algoritmo a due vie.
Ora non vorrei dire castronerie, ma PASSWORD() è ad una via, e quindi non si può fare.
-
Grazie per il consiglio, avevo dimenticato per sbaglio, ho risolto così:
$sy_email=strip_tags($_POST['email']); $sy_email=mysql_escape_string($sy_email);
tuttavia mi rimane il problema della password, non so come restituire agli utenti la loro password! Ho fatto le prove inverse con questa query```
select *, PASSWORD('password')AS decri_password FROM users WHERE email='$sy:email'"