Hallo,
ich möchte mir ein kleines Loginscript selber schreiben.
Nach meiner (begrenzten) Vorstellung könnte das so laufen:
User Name, PW und User-ID stehen in der DB. Beim Login werden Username und PW geprüft und der Benutzer im "Gutfall" angemeldet. D.h. die Session wird gestartet. In der Session stehen die User ID und die aktuelle IP des Users (bei Änderung der IP wird User abgemeldet).
Soweit findet man auch x Tutorials wie das geht. Manche Loginscripte speichern die Session-ID auch in der Datenbank.
Nun zu meiner Frage, warum braucht man die Session-ID in der Datenbank? Was macht man damit? Kann der User die in der Session gespeicherten Informationen selbst ändern (Cookie ist ja auf seinem Rechner)?
Gruß
Session ID in Datenbank speichern?
- S2B
- Ehemaliges Teammitglied
- Beiträge: 3258
- Registriert: 10.08.2004 22:48
- Wohnort: Aachen
- Kontaktdaten:
Die Session-ID ist deine "Login-Information nach dem Login". Beim Login gibst du Benutzername und Passwort ein, um dich einzuloggen, nachher "gibst" du dem Server deine Session-ID aus dem Cookie bzw. GET-Parameter. 

Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
- larsneo
- Mitglied
- Beiträge: 2622
- Registriert: 07.03.2002 15:23
- Wohnort: schwäbisch gmünd
- Kontaktdaten:
obacht, damit verabschiedest du dich von z.b. aol-usern - dort kann erstaunlicherweise innerhalb einer sitzung die ip wechselnbei Änderung der IP wird User abgemeldet
ich würde empfehlen die session id generell nur über cookies auszuliefern. selbst wenn httponly noch in den kinderschuhen steckt ist es auf jeden fall die sichere variante vor session-hijacking.nachher "gibst" du dem Server deine Session-ID aus dem Cookie bzw. GET-Parameter.
Hallo,
danke für die Antworten. Aber ich verstehe es immer noch nicht richtig.
@ SB2:
Da ich in meiner Session eine User-ID speichere, kann ich diese zur späteren Identifikation verwenden. Warum also die Session-ID verwenden. Zumal es leichter möglich ist, sich eine Session-ID abzuschauen wie die in der Session gespeicherte Information.
@larsneo:
Ja, dessen bin ich mir im klaren. Aber, sofern sich jemand eine Session-ID abschaut, könnte er über diese ins System. Wenn ich die IP immer mit vergleiche, müsste er neben der Session-ID auch die richtige IP zur Session-ID haben. Dies ist zwar in Netzwerken bei denen sich mehrere Rechner über einen Rechner (oder Sonstiges) anmelden auch möglich, jedoch eher unwahrscheinlich. Da meist hier auch die entsprechende Räumliche Trennung fehlt, könnte man der "Bösewicht" einfacher ausfindig machen. AOL Benutzer haben halt die "Arschkarte" gezogen.
Gut, wie könnte jetzt ein "sicheres" System vom Prinzip her laufen?
Warum wird das System "sicherer" sofern ich die Session-ID in der DB speichere und ??? >>>Bitte erklären ???<<< damit mache.
Gruß
danke für die Antworten. Aber ich verstehe es immer noch nicht richtig.
@ SB2:
Da ich in meiner Session eine User-ID speichere, kann ich diese zur späteren Identifikation verwenden. Warum also die Session-ID verwenden. Zumal es leichter möglich ist, sich eine Session-ID abzuschauen wie die in der Session gespeicherte Information.
@larsneo:
Ja, dessen bin ich mir im klaren. Aber, sofern sich jemand eine Session-ID abschaut, könnte er über diese ins System. Wenn ich die IP immer mit vergleiche, müsste er neben der Session-ID auch die richtige IP zur Session-ID haben. Dies ist zwar in Netzwerken bei denen sich mehrere Rechner über einen Rechner (oder Sonstiges) anmelden auch möglich, jedoch eher unwahrscheinlich. Da meist hier auch die entsprechende Räumliche Trennung fehlt, könnte man der "Bösewicht" einfacher ausfindig machen. AOL Benutzer haben halt die "Arschkarte" gezogen.
Gut, wie könnte jetzt ein "sicheres" System vom Prinzip her laufen?
Warum wird das System "sicherer" sofern ich die Session-ID in der DB speichere und ??? >>>Bitte erklären ???<<< damit mache.
Gruß
- larsneo
- Mitglied
- Beiträge: 2622
- Registriert: 07.03.2002 15:23
- Wohnort: schwäbisch gmünd
- Kontaktdaten:
als option mag es ja gut sein, generell würde ich aber eher auf z.b. den USER_AGENT setzen.Aber, sofern sich jemand eine Session-ID abschaut, könnte er über diese ins System
das lässt sich sicherlich nicht in ein paar sätzen erklären. die grundidee im keks nur die sid zu speichern und über einen eigenen session-handler den rest selber zu verwalten ist sicherlich nicht verkehrt. das bereits angesprochene httponly ist (vielleicht neben p3p) tatsächlich eine gute idee von microsoft in bezug auf sicherheit, leider aber noch nicht durchgängig verbreitet.Gut, wie könnte jetzt ein "sicheres" System vom Prinzip her laufen?
als anregung vielleicht mal einen link auf de zukünftigen session-handler von postnuke
