PHP - Authentifizierung eines Benutzers mit PDO und password_verify()

Das Passwort (der Passwort-Hash) wurde mittels password_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.

<td> Tabellenspalte

CSS - Diashow mit Keyframes

PHP - Inhalt immer frisch vom Server holen

JavaScript - Zahlenwerte überprüfen und korrigieren

MySQL - Datensätze sortieren nach Länge der Zeichen