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.

<a> Verweis

CSS - Sternebewertung

PHP - Bildanzeige je nach der Tageszeit

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

MySQL - Spalte auf UNIQUE setzen

Startseite gleich Schaufenster
Die Startseite ist für Ihre Homepage zugleich Schaufenster, Eingangstür und Visitenkarte. Als Schaufenster bietet sie einen Überblick über das, was auf der Webpräsenz zu finden ist; stellen Sie Fotos aus, verkaufen Sie Software oder präsentieren Sie Ihre Hobbies? Handelt es sich um eine private, geschäftliche, gemeinnützige oder öffentliche Homepage? Dies muss ohne langes Klicken und Suchen klar sein.