Login abfrage

hhunderter

Erfahrenes Mitglied
Hi , ich hab mal wieder ne Frage :

also ich habe ein Login-System mit Session.
Jetzt wollte ich die Werte zu den User überprüfen aber weiß nicht sorecht was ich alles in die Session Speichern soll und was ich alles abfragen soll.
 
Ich denke was man in der Session aufnehmen sollte sind:
- Nickname
- UserID
- User-Rechte

Das is auch so ziemlich das einzige was mir in Bezug auf das bloße Login-System zwecks Sicherung einiger Seiten als wichtig in den Sinn kommt...

Ich bitte um Ergänzung :D
 
Ich speichere immer nur den Nick und das Passwort (als dreckiges MD5 oder wie auch immer)... bei jedem Seitenaufruf solltest du dann in der DB nachsehen, ob der gespeicherte Nick wirklich das gespeicherte Passwort hat.

Sonst kann man (als Hacker^^) nämlich einfach eine Session mit den Feldern UserID, Nick und Rechte erzeugen, mit frei Werten, ohne das es dein Programm merkt...
 
Ich persönlich empfehle dir für absolute Sicherheit eine Datenbanktabelle "sessions"
in der du die Daten wie Username, Passwort, Usergruppe/Userrang/Userrechte speichern kannst.

Beim Login legst du einen Datensatz mit einer eindeutigen Session_id an und diese Session_ID speicherst du dann in dein Cookie, dann ist alles sicher und du musst nicht 1000 Cookies oder Sessionvariablen erstellen.
Ausserdem kannst du dann die letzte Aktivität, ... dokumentieren.
 
Stimmt Pfarrer... Nich dran gedacht... Wär natürlich haarig sowas ^^
In Verbindung mit Simons Angaben erübrigt es sich aber dauernd das Nick und PW mit der DB abzugleichen, weil das inne Performance gehen könnte...
Statt dessen vergleicht man, ob der Nickname auch die richtige Session_ID hat ^^

Könntest du ne kurze Demo nennen, wie die dokumentation aussehen würde, Simon?
 
Naja ich denke es hängt von der Größe des Projektes ab.
Bei einem großen Portal reicht es meist nicht nur 3-4 Daten weiter zu geben.
Bzw. kann dies auch hilfreich sein, wenn jemand COOKIES deaktiviert hat, dann kann man diese Session_id weitergeben.


Aus diesem Grund habe ich diese Tabelle mit allen Spalten, die ich brauche.

Also ein Datensatz mit einer/der speziellen Session_id, die übergeben wird.
Mit dieser kannst du bei jedem Aufruf alle Daten dieses Datensatzes auslesen.

Aber ich hab mich sowieso verlesen - ich dachte es handelt sich um ein Autologin per Cookie und da ist es natürlich nicht sehr ratsam das Passwort (auch wenn verschlüsselt) mit zu schicken ;)
 
Wenn ich jetzt die Werte ID und Session_ID in die session speicere dann kann ich ja egendlich alles damit abfragen und Identifizieren oder ?
also ich brauch ja dan nur beim loggin die session-ID speichern und dan immer überprüfen durch die ID?!

was meinste eigendlich mit "eindeutigen Session_id" ?
 
Das ist eine Super Idee!

Bei jedem Login wird ein neuer Eintrag in einer Tabelle erstellt, darin speichert man die ID des Eintrags, UserID, zufällig erzeugte SessionID, vll noch ein zuätzliches Sicherheitsmerkmal, wie zB einen String der bei jedem Aufruf geändert wird. Stimmt der im Cockie nicht mit dem in der DB überein, hat jmd versucht sich einzuhacken. Allerdings gibt es dann aber Probleme wenn man mehrere Seiten der Website gleichzeitg läd, oder?

Schließlich könnte man noch das Datum speichern.
 
Also ich habe des jetzt so gamacht das ich
beim login in meiner User-Tabelle die Session_ID speichere
die Werte: User_ID, Username und PW in eine Session packe
undanhand der User_ID die Werte: Username, PW und Session_ID in der Datenbank kontrolliere.

würdet ihr noch was vorschlagen oder würde des reichen bzw. Sicher sein?
 
Zurück