Bankprojekt Bankuser: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Die Seite wurde neu angelegt: „== Testbenutzer anlegen == === PHP-Skript zur Generierung von Passwort-Hashes === Um sichere Passwort-Hashes für die Testbenutzer zu generieren, kann das fol…“ |
Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
== | |||
== Erstellung und Import von Testbenutzern == | |||
=== PHP-Skript zur Generierung von Passwort-Hashes === | === 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. | |||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
<?php | <?php | ||
| Zeile 18: | Zeile 20: | ||
]; | ]; | ||
$file = fopen('users.csv', 'w'); | |||
foreach ($users as $username => $password) { | foreach ($users as $username => $password) { | ||
$email = $username . '@linuggs.de'; | $email = $username . '@linuggs.de'; | ||
$passwordHash = password_hash($password, PASSWORD_BCRYPT); | $passwordHash = password_hash($password, PASSWORD_BCRYPT); | ||
fputcsv($file, [$username, $email, $passwordHash]); | |||
} | } | ||
fclose($file); | |||
echo "Benutzer in users.csv gespeichert.\n"; | |||
?> | ?> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Führe das Skript aus, um die CSV-Datei zu erzeugen: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
php generate_users.php | php generate_users.php | ||
</syntaxhighlight> | </syntaxhighlight> | ||
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: | |||
<syntaxhighlight lang="php"> | |||
<?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()); | |||
} | |||
?> | |||
</syntaxhighlight> | |||
Führe das Skript aus, um die Benutzer in die Datenbank einzufügen: | |||
<syntaxhighlight lang="bash"> | |||
php import_users.php | |||
</syntaxhighlight> | |||
=== Überprüfung der importierten Benutzer === | |||
Nach dem Import können die Benutzer mit folgendem SQL-Befehl überprüft werden: | |||
<syntaxhighlight lang="sql"> | <syntaxhighlight lang="sql"> | ||
SELECT id, username, email FROM users; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Wenn die Ausgabe die erwarteten Benutzer zeigt, war der Import erfolgreich. | |||
Aktuelle Version vom 17. Februar 2025, 20:04 Uhr
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.