[PHP/mySQL] Login-System mit Sessions

xytrax

Grünschnabel
Hallo!

Ich plage mich schon Tage lang mit einem Session-basierten Login-System rum, und komm einfach nicht weiter. Evtl. hat ja hier jemand die zündende Idee.

Also: Ich hab unter anderem das Login-System unter diesem Link http://www.tutorials.de/forum/php-tutorials/9684-php-mysql-login-system-mit-sessions.html nachgebastelt. Allerdings kann ich mich einfach nicht anmelden. D.h. ich bekomme immer die Fehlermeldung "Die Zugangsdaten waren ungültig". Und ja, ich hab die richtigen Zugangsdaten eingegeben! ;-)
Noch eine Frage bzgl. des Passworts: Ich habe das Passwort als Klartext in der DB gespeichert. Allerdings wird das Passwort als MD5-Hash mit der Datenbank abgeglichen. Kann dort das Problem liegen? Ich habe auch bereits versucht die "MD5-Prüfung" weg zu lassen, allerdings war eine Anmeldung auch nicht mgl.

Das gleiche Problem hatte ich auch mit diesem Tutorial: http://www.developers-guide.net/forums/54,php-ein-sessionbasiertes-loginsystem

Ich bin echt ratlos

Hier noch ein paar Infos zu meinem System:
- FreeBSD 4.10
- php 5.1.6_1
- mysql-server-5.0.24a
- apache 2

Vorab schonmal Danke für eure Hilfe

Gruß, Xy
 
Die Sache mit dem md5():

Wenn du die Daten aus der DB unverschlüsselt holst, musst du sie auch unverschlüsselt vergleichen (logisch oder? :) )
Code:
$uncriptedPasswort != md5($userEingabe)
$uncriptedPasswort == $userEingabe
md5($uncriptedPasswort) == md5($userEingabe)

Wobei ich - wenn du die Passwörter eh nicht verschlüsselt speicherst - zweiteres empfehle, da du dann eine Funktion weniger aufrufen musst... (bzw. zweimal die gleiche).

Solltest aber sicherheitshalbe die Passwörter verschlüsselt speichern, schon nur den Usern zuliebe, weil
a) DICH die Passwörter ja eigentlich nichts angehen (ich wette 80% der User haben im MSN, ICQ, Mailaccount, Forenaccount, etc. immer das gleiche Passwort - wer will sich schon so viele Passwörter merken? ;) )
b) Zur Sicherheit, falls jemand mal unbefugten zugang zu deiner DB bekommt.
 
Hallo!

Ja, ok! Das leuchtet mir ein! ;) Allerdings ist das momentan noch nicht das Kern-Problem. Die Anmeldung funktioniert ja auch ohne MD5 nicht ... Warum auch immer! Ich blicks momentan net... :confused:
 
Dürfen wir ein Blick in dein Quelltext werfen :). Also ich liste mal ein paar potenzielle Fehlermöglichkeiten auf:
  • Du benutzt ein Formular, register_globals ist aus und du versuchst über $variable anstatt $_POST['variable'] (oder $_GET['variable'], falls die Variable über die URL übertragen wird) auf selbige zuzugreifen
  • Du hast vergessen am Anfang des Scripts [phpf]session_start[/phpf] aufzurufen
Tipp: An den Anfang der PHP Datei [phpf]error_reporting[/phpf] auf E_ALL setzen und vor Funktionen kein @ (also eventuelle Fehler nicht unterdrücken).
 
Hallo!

Da ich einen Fehler in meinem Quelltext ausschließen wollte, hab ich den Quelltext aus dem Tutorial "http://www.tutorials.de/forum/php-tutorials/9684-php-mysql-login-system-mit-sessions.html" 1:1 übernommen. Da sollte der Fehler wohl nicht liegen. Allerdings bin ich dem Problem - glaube ich jedenfalls - etwas näher gekommen. Ich vermute, dass es ein generelles MySQL-Problem ist. Sobald ich die Datei php.ini nach "/usr/local/etc" kopiere, funktioniert der MySQL-Server nicht mehr. Woran das nun liegt, weiss ich noch nicht genau. Wenn die "php.ini" nicht existiert, funktioniert das Auslesen von Daten aus der Datenbank ohne Probleme, das Login-System jedoch nicht.
Scheinbar hat meine PHP-/MySQL-Konfiguration ein Problem... :rolleyes:
 
Zurück