Session ID

Alles, was PHP betrifft, kann hier besprochen werden.

Session ID

Postby Makconner » 30. May 2006 12:39

Soweit ich weiss wird doch die Session ID vom Server vergeben….
Mit einem Befehl kann man die in php abrufen…(weis grad nicht welcher)

Nehmen wir mal an ich speichere die in eine „Online-Liste“ mit dem Namen des Account
Jetzt kommt ein User von einem Zweiten Recher und loggt sich ein mit dem schon
Online gegangenen Account. Gibt es jetzt eine Funktion mit der ich überprüfen kann ob die Session ID die mit dem Account gespeichert wurde noch „frisch“ ist.. oder ob sie verfallen ist?

Auf die Art könnte man doch das nutzen eines Account von 2 PCs aus blocken.
User avatar
Makconner
 
Posts: 153
Joined: 14. February 2006 16:00

Postby Stefan » 02. June 2006 14:17

Servus

(weis grad nicht welcher)
Code: Select all
<?php echo session_id(); ?>


Die Sitzungsdatei zerstört sich nach einer gewissen Zeit von selbst und wenn Du dich von einem zweiten Rechner neu einloggst, bekommts Du auch eine neue Sitzungsdatei. Das gleiche Konto von zwei Rechnern(Browsern) gleichzeitig bedienen, kannst Du natürlich damit verhindern, daß Du überprüfst, ob der Benutzer schon eingeloggt ist. Leider kannst Du das nur über die Sitzungsdatei rausfinden, die natürlich noch für den Rest ihres Lebens vorhanden ist, auch wenn der Benutzer den Browser längst geschlossen hat. Würdest Du es so machen, wäre die Folge, daß sich ein Benutzer nur einmal, pro Lebensdauer der Sitzungsdatei, einloggen könnte. Das ist schlecht. Hier wäre die Lösung, daß Benutzer immer explizit per "Abmelden" ihre aktuelle Sitzungsdatei löschen. Das ist rigoros. Deshalb verzichten auch viele(Alle? Kenne keine Seite) darauf.

machs gut, Stefan
User avatar
Stefan
 
Posts: 475
Joined: 26. December 2002 22:36
Location: Mitten in der sonnigen Südpfalz

Postby thorsin » 02. June 2006 15:23

Leider kannst Du das nur über die Sitzungsdatei rausfinden...

*MÖÖÖP*
das war der zonk ;-)
das kann man zb. durch ein feld in einer usertabelle, in dem immer die zuletzt verwendete session-id steht, oder über ein flag in der tabelle, oder, oder, oder (1000 ways)
User avatar
thorsin
 
Posts: 136
Joined: 05. March 2006 20:39

Postby Stefan » 02. June 2006 15:52

Du hast Recht. Es gibt wirklich tausend Wege den wiederkehrenden Benutzer mit seinen alten Daten zu bedienen. Allerdings war die Fragestellung eine andere. Wie stellst Du fest, wer gerade jetzt auf der Stelle und auch ehrlich wirklich angemeldet ist?

eins, zwei, oder drei....
User avatar
Stefan
 
Posts: 475
Joined: 26. December 2002 22:36
Location: Mitten in der sonnigen Südpfalz

Postby KingCrunch » 02. June 2006 15:58

Ich kaufe ein "E" :lol:
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby thorsin » 02. June 2006 16:15

so wie ich das verstanden habe geht es darum die gleichzeitige doppelnutzung eines accounts auszuscchliessen, und da würd ich mit nem flag arbeiten, dass keinen login erlaubt, wenn es in der db gesetzt ist...
User avatar
thorsin
 
Posts: 136
Joined: 05. March 2006 20:39

Postby Stefan » 02. June 2006 16:25

Ein Problem bleibt. Wann verschwindet die Markierung wieder aus der DB?
Gute Frage, gell.

machs gut, Stefan
User avatar
Stefan
 
Posts: 475
Joined: 26. December 2002 22:36
Location: Mitten in der sonnigen Südpfalz

Postby KingCrunch » 02. June 2006 16:28

Und welcher von Beiden ist der "wahre" Eigentümer? Auch eher suboptimal. Wenn Nutzer A von Rechner 1 sich mit Benutzernamen und Kennwort einloggt und dann Nutzer B von Rechner 2 sich mit identischen Benutzername/Kennwort-Paar einloggt, dann is die Sicherheit sowieso hinfällig, weil Benutzername und Kennwort schon ein Zweiter kennt. Das kann gewollt sein, aber dann macht es her bedingt Sinn einen von Beiden auszuschließen.
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby thorsin » 02. June 2006 19:51

Stefan wrote:Ein Problem bleibt. Wann verschwindet die Markierung wieder aus der DB?

man nehme einen timestamp und sage: wenn du soundsoviel älter als ein aktueller tstamp bist, dann biste ungültig und ich schreib meinen neuen rein ;-)
User avatar
thorsin
 
Posts: 136
Joined: 05. March 2006 20:39


Return to PHP

Who is online

Users browsing this forum: No registered users and 1 guest