Sven Rautenberg: Eigene Mitgliederverwaltung und Sicherheit

Beitrag lesen

Moin!

Ich habe vor, einen Webauftritt zu gestalten, in dem sich Benutzer registrieren können, um in einen Mitgliederbereich gelangen zu können (mit eigenem Profil), Forum, etc. Beim Registrieren werden die Daten (erstmal Nickname und PW) mit md5 verschlüsselt und in einer MySQL-Tabelle gesichert.

Die Frage wäre, ob es schlau ist, auch den Nickname durch MD5 zu jagen. Das Resultat wäre, dass du keinerlei Zuordnung mehr hast, welcher User bzw. Username mit welchem Eintrag der Usertabelle in Zusammenhang steht.

Will der Benutzer sich später anmelden (mit Login-Formular), werden die Eingabedaten in md5 verschlüsselt und mit dem Nickname/Passwort in der Datenbank verglichen. Wurde ein passender Eintrag gefunden, ist der Benutzer eingeloggt. Ich möchte das ganze ohne Sessions machen (da ich davon nicht viel Ahnung habe und in anderen Foren auf Beiträge mit Problemen bei Sessions gestoßen bin).

Es geht aber nunmal nicht ohne Session. Das, was du da beschreibst, ist ein selbstgebauter Sessionmechanismus, dem ich pauschal erstmal attestiere, dass er viel mehr Probleme macht, als der in PHP standardmäßig eingebaute Mechanismus, denn der ist millionenfach getestet und funktioniert in 99% aller Fälle problemlos.

Dass du ihn noch nicht magst, weil du ihn noch nicht kennst, kann man ja ändern.

Am allerekligsten finde ich dabei, dass du deshalb alle Seitenaufrufe per POST-Request machen willst. Das bringt einen dermaßenen Zusatzaufwand mit sich, dass man keine Sekunde darüber nachdenken muß, was besser zu verwenden ist: Natürlich der PHP-Mechanismus, nicht deine Idee.

Abgesehen davon: Benutzer können durch nicht beeinflussbare Umstände daran gehindert sein, sich ordnungsgemäß auszuloggen. Ein Mechanismus, der fix "User ist drin" oder "User ist draußen" in einen Permanentspeicher schreibt, birgt Risiken, weil diese Information einfach auch falsch sein kann.

- Sven Rautenberg

--
"Love your nation - respect the others."