PHP - Authentifizierung eines Benutzers mit PDO und password_verify()
Das Passwort (der Passwort-Hash) wurde mittelspassword_hash()
in der DB-Tabelle gespeichert.
Das vergleichen des über einem Formular gesendeten Passworts mit dem gespeicherten Passwort-Hash geschieht dann über password_verify()
.
<?php
// Authentifizierung eines Benutzers mit PDO und password_verify()
$db = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
$select = $db->prepare("SELECT pass FROM users WHERE email = :email");
$select->execute([":email" => $_POST["email"]]);
$user = $select->fetch();
if ($user &&
password_verify($_POST["pass"], $user["pass"])) {
echo "Richtig!";
}
else {
echo "Falsch!";
}
?>
Beachten Sie, dass es nicht empfohlen wird, eine eindeutige Fehlermeldung bereitzustellen, wenn ein Benutzer nicht gefunden wurde.
Ein generisches: Die Anmeldeinformationen sind nicht korrekt
würde ausreichen. Andernfalls wird es einem böswilligen Benutzer helfen,
zu finden, ob eine bestimmte E-Mail-Adresse auf der Website registriert ist.
Bausteine Alle Anzeigen
Eine zufällige Auswahl von Codeschnipseln
aus den Bereichen
HTML, CSS,
PHP, JavaScript und
MySQL.
<a> Verweis
PHP - Bildanzeige je nach der Tageszeit