Die Domain lautet https://GrieferScout.de/
Ok , Danke ![]()
Support- und Community-Themen werden lediglich über unseren Discord-Server abgewickelt, wo ihr uns schneller und unkomplizierter erreicht.
Meldet euch einfach dort, wenn ihr Fragen oder Anliegen habt: https://discord.griefergames.net/
Die Domain lautet https://GrieferScout.de/
Ok , Danke ![]()
Du scheinst serverseitig PHP einzusetzen, aber dein Passwort-Hashing sieht mir irgendwie noch seltsam aus. Kannst du uns hier bitte die PHP-Funktion zeigen, wie das genau gemacht wird? Hast du nur mit SHA-256 gehasht (sieht so danach aus, da keine Salt-Spalte bzw. anscheinend nicht in der "password" Spalte enthalten) oder auch zusätzlich einen Salt verwendet, wie StackUnderflow es empfohlen hat?
PS: Am besten immer vorhandene API-Funktionen nutzen, nichts selbst hashen. In PHP gibt es genau dafür die folgenden Funktionen:
Ja ich benutze nur SHA-256. Leider kenne ich mich mit dem ganzen Hashen noch nicht so gut aus.
Soll ich also password_hash(); benutzen ?
Ja. Wenn sich ein Nutzer registriert oder sein Passwort ändert, dann mit
hashen und in der DB ablegen. Dabei am besten die Konstante PASSWORD_DEFAULT nutzen (man kann den Algo auch manuell setzen). Die default Konstante hat den Vorteil, dass PHP mit der Zeit automatisch auf sicherere Algos umstellt und du selbst nichts machen musst. Du solltest nur genug Platz im Feld für den Hash haben, weil sich die Länge irgendwann ändern kann.
Um das Passwort zu überprüfen (z. B. beim Login), holst du den Datensatz (z. B. anhand der Email oder Benutzername), sowie das gehashte Passwort und testest es mit der anderen Funktion:
if (password_verify('password_from_login', $hashFromDB)) {
echo 'Password is valid!';
} else {
echo 'Invalid password.';
}
$hashFromDB ist das gehashte Passwort aus der Datenbank und im ersten Parameter steht das vom Nutzer übersendete Passwort (z. B. beim Einloggen).
Gut, ich habe das jetzt geändert.
Muss ich das aus der Datenbank abfragen? Ich könnte doch auch einfach das nochmal hashen und dann dieses abfragen. so wie im oberen bild
Gut, ich habe das jetzt geändert.
Also diese Methode funktioniert
[Blockierte Grafik: https://griefergames.de/index.php?attachment/9771-unbenannt-png/]
Genau so. Natürlich nicht alles zusammen. ![]()
In deiner "password" Spalte müssten die Passwörter dann nicht mehr so aussehen:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
sondern z. B. so:
$2y$10$ZONAIA8/UdMLjkZfFf7O7.70cqt0jk5M6VEqgmVsTreKXjhTIh9ji
Jo das tuhen sie.
Ich danke dir vielmals![]()
Muss ich das aus der Datenbank abfragen? Ich könnte doch auch einfach das nochmal hashen und dann dieses abfragen. so wie im oberen bild
Bin mir nicht sicher, wie du das jetzt programmiert hast. Aber nochmal zur Klarstellung: Du musst das natürlich aus der Datenbank abfragen und mit dem erneut übersendeten Passwort vergleichen. Dass erneut übersendete Passwort zu hashen und dann mit dem aus der Datenbank abfragen wird nicht funktionieren, da der generierte Hash ja immer anders aussieht. Dafür sorgt der zufällige Salt (der befindet sich bereits im Hash mit drin).
Jo, ich habe es einfach aus der Datenbank abgefragt. ![]()