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.

<meta> Meta-Angaben

CSS - Aufzählungslisten einfärben

PHP - Datum zerlegen 2

JavaScript - Demo für die Anwendung der Fetch-API

MySQL - Datensätze (Gehalt) zwischen 2000 und 3000 anzeigen

Freiraum
Quetschen Sie nicht so viel Text, Links und Bilder auf eine Seite. Lassen Sie freien Raum. Der Besucher wird es ihnen danken, außerdem erhöht es die Übersichtlichkeit.