Raga nel mio db, nella tabella users ho creato un account, naturalmente non dal db ma dal sito, e ora mi sono accorto che la password non è cryptata, come faccio a cryptarla? non posso eliminare quell'account e rifarlo
Raga nel mio db, nella tabella users ho creato un account, naturalmente non dal db ma dal sito, e ora mi sono accorto che la password non è cryptata, come faccio a cryptarla? non posso eliminare quell'account e rifarlo
Puoi criptarla tramite PHP, ad esempio con md5() o sha1() o altre funzioni o una loro combinazione.
Ovviamente, però, anche durante il login va criptata allo stesso modo e quindi ha senso confrontare gli hash.
Ciao!
Ultima modifica di alemoppo : 05-04-2014 alle ore 21.48.01
regolamento altervista_______________ regolamento forum
ma come modifico quelle già messe nel db?
O a mano (da esempio da phpMyAdmin, calcolando l'hash con uno script apposito), o tramite uno script apposito (che lavora direttamente sul database tramite delle UPDATE).
Ciao!
regolamento altervista_______________ regolamento forum
non ho capito come si fa a mano
Dipende da che hash vuoi usare.
In generale, vai in un sito dove c'é un convertitore in hash. Quindi scrivi la password che vuoi "oscurare", e la sostituisci (tramite phpMyAdmin) nel tuo database al posto della password.
Ciao!
regolamento altervista_______________ regolamento forum
ho modificato le pass del db e ho provato a fare il login così:
ma mi da password sbagliataCodice PHP:
$sql_pass_get = "SELECT * FROM members WHERE name='$phpusername' AND password='".md5($phppassword)."'";
$user_info = mysql_fetch_array(mysql_query($sql_pass_get));
$encryptpass = $user_info['pass'];
if ($encryptpass != $phppassword) {
echo "Password sbagliata. Si prega di uscire se lei non è dello staff.";
exit();
}
Codice PHP:
$sql_pass_get = "SELECT * FROM members WHERE name='$phpusername' AND password='".md5($phppassword)."'";
$esiste = mysql_num_rows(mysql_query($sql_pass_get));
if ($esiste == 0) {
echo "Password sbagliata. Si prega di uscire se lei non è dello staff.";
exit();
}
non va :(
Nel tuo codice, l'if non dovrebbe essere così? :
In ogni caso, il codice di tampertools mi sembra corretto. Se non va, probabilmente l'hash è sbagliato :\Codice PHP:
if ($encryptpass != md5($phppassword)) {
Magari (per test, poi elimina subito ovviamente) fai la echo di entrambe le voci dell'if, per vedere se sono entrambi hash, e se sono differenti. Se sono differenti, allora invece del sito che ti ho linkato, fai una pagina che lo calcola al volo, tipo:
Ciao!Codice PHP:
<?php
if(isset($_POST['stringa']))
echo 'Hash di "'.$_POST['stringa'].': "'.md5($_POST['stringa']);
?>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="POST">
<input type="text" name="stringa" value="">
<input type="submit" value="converti">
</form>
Ultima modifica di alemoppo : 06-04-2014 alle ore 17.55.46
regolamento altervista_______________ regolamento forum