Camping_RIDER: Fehler im Code: Loginsystem und Benutzerregistrierung

Beitrag lesen

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:

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:

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

$_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 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 (fritz.campingrider.de) oder unter: # Facebook # Twitter # Steam # YouTube # Self-Wiki # ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[
0 49

Frage zu Loginsystem und Benutzerregistrierung mit PHP und MySQL

Sasser
  • datenbank
  • frage zum wiki
  • php
  1. 0
    Auge
    1. 0
      Jörg Reinholz
    2. 0
      Sasser
      1. 0
        Camping_RIDER
        1. 0
          Sasser
    3. 0
      Camping_RIDER
      • sonstiges
      • zu diesem forum
      1. 0
        Auge
        1. 0
          Camping_RIDER
        2. 0
          Matthias Apsel
          1. 0
            Camping_RIDER
          2. 0
            Matthias Apsel
            1. 1
              Camping_RIDER
            2. 0
              Auge
        3. 1
          Matthias Apsel
          • selfhtml-wiki
          • zu diesem forum
      2. 0
        Matthias Apsel
        1. 1

          Dynamische Statusanzeige :P

          Camping_RIDER
          1. 0
            Matthias Apsel
            • datenbank
            • frage zum wiki
            • php
            1. 0
              Camping_RIDER
              1. 0
                Matthias Apsel
                1. 0

                  Status: finished

                  Camping_RIDER
  2. 0

    Zur Sache selbst …

    Jörg Reinholz
    1. 0
      Sasser
      1. 0

        Zur Sache selbst … (Meine Fehler behoben)

        Jörg Reinholz
        1. 0
          Sasser
          1. 0
            Auge
            1. 0
              Jörg Reinholz
          2. 0
            Sasser
            1. 0
              Tabellenkalk
            2. 0
              Jörg Reinholz
              1. 0
                dedlfix
                1. 0
                  Jörg Reinholz
                  1. 0
                    dedlfix
                    1. 0
                      Jörg Reinholz
                      1. 0
                        Msass
  3. 0

    Fehler im Code: Loginsystem und Benutzerregistrierung

    Camping_RIDER
    1. 0
      Christian Kruse
      1. 0
        Auge
        1. 2
          Christian Kruse
          1. 0
            Auge
        2. 0
          Jörg Reinholz
    2. 0
      Sasser
      1. 0
        Camping_RIDER
    3. 0
      Auge
    4. 1
      Jörg Reinholz
  4. 0

    Hinweis: Die Skripte im Artikel von Suit funktionieren

    Jörg Reinholz
  5. 2
    Felix Riesterer
    1. 0
      Jörg Reinholz
  6. 0

    Deine Frage zu meinem Loginsystem

    Jörg Reinholz