Bankprojekt Bankuser
Version vom 17. Februar 2025, 20:04 Uhr von Thomas.will (Diskussion | Beiträge)
Erstellung und Import von Testbenutzern
PHP-Skript zur Generierung von Passwort-Hashes
Die Testbenutzer erhalten sichere, mit bcrypt gehashte Passwörter. Das folgende PHP-Skript generiert die Hashes und speichert die Benutzerdaten in einer CSV-Datei.
<?php
$users = [
'anna' => 'Passwort1',
'benjamin' => 'Passwort2',
'clara' => 'Passwort3',
'daniel' => 'Passwort4',
'eva' => 'Passwort5',
'felix' => 'Passwort6',
'greta' => 'Passwort7',
'henrik' => 'Passwort8',
'isabel' => 'Passwort9',
'jonas' => 'Passwort10'
];
$file = fopen('users.csv', 'w');
foreach ($users as $username => $password) {
$email = $username . '@linuggs.de';
$passwordHash = password_hash($password, PASSWORD_BCRYPT);
fputcsv($file, [$username, $email, $passwordHash]);
}
fclose($file);
echo "Benutzer in users.csv gespeichert.\n";
?>
Führe das Skript aus, um die CSV-Datei zu erzeugen:
php generate_users.php
Nach der Ausführung enthält die Datei `users.csv` die Benutzernamen, E-Mail-Adressen und gehashten Passwörter.
PHP-Skript zum Import der Testbenutzer
Um die generierten Benutzer in die Datenbank `bankdb` zu importieren, wird folgendes PHP-Skript verwendet:
<?php
$host = 'localhost';
$dbname = 'bankdb';
$username = 'root'; // ggf. anpassen
$password = ''; // ggf. anpassen
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// CSV-Datei einlesen
$file = fopen('users.csv', 'r');
while (($data = fgetcsv($file, 1000, ",")) !== FALSE) {
$sql = "INSERT INTO users (username, email, password_hash, role) VALUES (:username, :email, :password_hash, 'user')";
$stmt = $pdo->prepare($sql);
$stmt->execute([
':username' => $data[0],
':email' => $data[1],
':password_hash' => $data[2]
]);
}
fclose($file);
echo "Benutzer erfolgreich importiert!";
} catch (PDOException $e) {
die("Fehler: " . $e->getMessage());
}
?>
Führe das Skript aus, um die Benutzer in die Datenbank einzufügen:
php import_users.php
Überprüfung der importierten Benutzer
Nach dem Import können die Benutzer mit folgendem SQL-Befehl überprüft werden:
SELECT id, username, email FROM users;
Wenn die Ausgabe die erwarteten Benutzer zeigt, war der Import erfolgreich.