Codice PHP:
$pfc=file($pf);
list($username,$password) = explode(":",$pfc[0]);
$checksum = crypt($_POST['oldpassword'],$password);
if ($checksum != $password )
{
echo $checksum ."!=".$password ."
";
$errmsg.="La vecchia password inserita non coincide con quella attuale :P";
$err=true;
}
else
{
$record = $_POST['newusername'].":".crypt($_POST['newpassword']);
$handle=fopen($pf,'w');
if (fputs($handle,$record))
{
echo "Ok";
}
else
{
$errmsg.="Impossibile leggere/scrivere il file [i]".$pf."[/i]: permesso negato
";
$err=true;
}
}
questo script prende una parola in kiaro da input, fa un hash in base alla password memorizzata sul file .htpasswd e se sono uguali, conserva l'hash di newpassword...
ora non capisco perché nel primo if la condizione è falsa quando io metto la password corretta, ma mi mostra il messaggio di errore. why?
la sesta riga stampa
$1$U3cg8VzM$wg8LlZ9zQtc45KMeSm12G0 != $1$U3cg8VzM$wg8LlZ9zQtc45KMeSm12G0
notate ke gli hash corrispondono, ma lui mi dice che sono diversi