Ich entwickle ein Login-System für eine iOS-App.Verwendung von password_verify in PHP
Dies ist Teil des PHP-Skript, das ich eine JSON Antwort auf die App senden bin mit:
if(isset($_POST['correo']) && isset($_POST['pass']) && $_POST['key'] == "123456")
{
$password = $_POST['pass'];
$q = mysqli_query($mysqli,"SELECT * FROM users WHERE email = '".$_POST['correo']."' AND
encrypted_password = '".$_POST['pass']."'") or die (mysqli_error());
if(mysqli_num_rows($q) >= 1){
$r = mysqli_fetch_array($q);
// this is the hash of the password in above example
$hash = $r['encrypted_password'];
if (password_verify($password, $hash)) {
$results = Array("error" => "1","mensaje" => "su ID es ".$r['id'],"nombre" => $r['nombre'],"apellidos" => $r['apellidos'],"email" => $r['email'],
"imagen" => $r['imagen'],"unidad" => $r['unidad']);
} else {
$results = Array("error" => "2","mensaje" => " acceso denegado ");
}
}else{
$results = Array("error" => "3","mensaje" => "no existe");
}
}
echo json_encode($results);
Mein Problem über die Verwendung von password_verify in PHP ist. Ich möchte wissen, ob es wie im Skript funktioniert oder nicht, dann wird die JSON-Antwort in der App nicht empfangen.
Danke
Ihre mysqli_query wird immer Rückkehr leeres Ergebnis, da Sie übergeben, um unverschlüsselten Wert abzufragen und zu versuchen, es gleich zu verschlüsseln 'verschlüsseltes_Kennwort = '". $ _ POST [' pass '] ' – diavolic
Bitte parametrieren Sie Ihre Abfragen. – chris85
Wie haben Sie die Benutzerkennwörter ursprünglich gespeichert? 'verschlüsselt'! =' hahsed' (es sollte gehashed werden). – chris85