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.

<details> Details

CSS - Listenelemente einfärben

PHP - Mit PHP eine HTML-Tabelle erstellen

JavaScript - Formularfelder farbig markieren

MySQL - Das Alter von Personen ermitteln

Zu viele Werbebanner
Es bringt nichts, Webseiten von oben bis unten mit Werbe-Banner zuzupflastern. Um mit Werbung ernsthaft Geld zu verdienen, braucht man ein paar tausend Besucher im Monat. Deshalb kann in den meisten Fällen auf Banner verzichtet werden. Falls man es trotzdem versuchen möchte, sollte man nur ein oder zwei Banner pro Seite verwenden, diese dann aber prominent platzieren.
Stellen Sie Sich vor jemand hat auf seiner Startseite 10 Werbebanner, der Besucher sucht vergeblich nach dem Eingang. Nicht unwahrscheinlich, dass ein Banner davon interessanter ist (...und der Besucher ist weg.)

Die Frage der Werbung wird im Übrigen heiß diskutiert. War sich die Internet-Gemeinde noch vor Kurzem einig in der Ablehnung jeglicher Kommerzialisierung, so gibt es in letzter Zeit auch entgegengesetzte Strömungen - und das nicht von Seiten der Konzerne. Klar ist jedenfalls, dass viele Angebote im Internet nur deshalb kostenlos sind, weil sie mit Werbung finanziert werden!