Fehler im Code: Loginsystem und Benutzerregistrierung
bearbeitet von Camping_RIDER> Aloha ;)
>
> > Wie kommt dieser Fehler zustande? Hat da jemand eine Idee?
> > Hängt das eventuell mit der Session zusammen?
>
> Ich habe mal den betreffenden Teil des Quellcodes kopiert, damit man daran weiteranalysieren kann:
>
> ~~~php
> if (crypt($_POST['f']['password'], $row['password']) == $row['password']) {
> session_start();
>
> $_SESSION = array(
> 'login' => true,
> 'user' => array(
> 'username' => $row['username']
> )
> );
> $message['success'] = 'Anmeldung erfolgreich, <a href="index.php">weiter zum Inhalt.';
> header('Location: http://' . $_SERVER['HTTP_HOST'] . '/index.php');
> } else {
> $message['error'] = 'Das Kennwort ist nicht korrekt.';
> }
> ~~~
>
> Meiner Meinung nach bedeutet das, dass Folgendes in deiner Situation eben nicht gilt:
>
> ~~~php
> crypt($_POST['f']['password'], $row['password']) == $row['password']
> ~~~
>
> Lass dir doch mal die betreffenden Variableninhalte ausgeben. Mir kommt die crypt-Funktion hier auch irgendwie spanisch vor (warum sollte `$row['password']` als salt verwendet werden?!?), genauso wie ich den Absatz über die Schlüssel in "Registrieren eines neuen Benutzers" für inhaltlich fragwürdig halte. Es gilt halt eben der disclaimer
>
> > Artikel in Benutzernamensräumen sind möglicherweise nicht mehr aktuell oder gar fehlerhaft.
>
> ...und da haben wir auch den Salat, im Skript zur Registrierung steht
>
> ~~~php
> $_POST['f']['password'] = crypt(
> $_POST['f']['password'],
> '$2a$10$' . $salt
> );
> ~~~
>
> Der Salt ist also beim Registrieren ein ganz anderer als beim Login. Der beim Login macht, wie gesagt, auch gar keinen Sinn.
>
> Wenn du den Salt im Login-Vorgang durch den korrekten salt ersetzt, sollte alles funktionieren (sofern nicht weitere Fehler im Quellcode sind).
>
> Ich kann dir nur empfehlen, dich stattdessen an den Artikel [Loginsystem](http://wiki.selfhtml.org/wiki/PHP/Anwendung_und_Praxis/Loginsystem) von @Jörg Reinholz zu halten; der ist deutlich aktueller und im Hauptnamensraum, d.h. er unterliegt (im Gegensatz zu Artikel-Skizzen im Benutzernamensraum) auch der Wartung durch die Community.
>
> Grüße,
>
> RIDER
>
>
>
> --
> Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
>
> Erreichbar manchmal im Self-TS (ts.selfhtml.org) oder sonst - wenn online - auf dem [eigenen TeamSpeak-Server](http://www.tsviewer.com/index.php?page=ts_viewer&ID=1060332) (fritz.campingrider.de) oder unter:
>
>
> # [Facebook](http://www.tsviewer.com/index.php?page=ts_viewer&ID=1060332) # [Twitter](https://twitter.com/Camping_RIDER) # [Steam](http://steamcommunity.com/id/Camping_RIDER) # [YouTube](https://www.youtube.com/user/RidersFlame) # [Self-Wiki](http://wiki.selfhtml.org/wiki/Benutzer:Camping_RIDER) #
>
>
> ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[
Danke! Ich werde deine Tipps befolgen und michdann nochmal zu Wort melden. Ich hab auch schon einen Blick auf deinen Link geworfen - sehr interessant. Vielen Dank.
und Zack, Forum in den Favoriten :)