Habe gerade ein Login Script in PHP / MYSQL mit sessions realisiert das mir vorerst relativ sicher scheint.
-> Es wird eine Art fingerprint vom Client erstellt welcher durch Sessionvariablen stetig überprüft wird, wenn dieser zu stark abweicht wird die Session zerstört
-> Jede Session ist nur eine halbe Stunde gültig
Meine Frage bezieht sich jetzt auf einen Mehrfachlogin. Theoretisch könnte sich derzeit ein User öfters hintereinander einloggen und die Sessions würden parallel laufen -> Mehrfachlogin
Um dies zu verhindern müsste ich extra eine neue Tabelle anlegen und bei jedem Seitenaufruf innerhalb des Memberbereichs auf die DB-Tabelle zugreifen was natürlich einiges an Leistung frisst und das Script eher wenig Leistung fressen sollte da es ohnehin umfangreich genug ist (nicht nur das LogIn Script ist hier gemeint)
Ich wollte fragen ob es problematisch sein könnte dass ein solcher Mehrfachlogin möglich ist:
1. Von der Sicherheit
2. Vom technischen her
3. Kann man das vielleicht irgendwie ohne DB lösen
ein mehrfachlogin können immer mehrere unterschiedliche User sein, die die gleichen logindaten benutzen....
ob es dort dann auch technisch zu problemen kommen kann, kann man ohne genaues wissen was ein user alles so machen kann nicht gesagt werden...
gibt immer ne Lösung ohne db... aber irgendwo muss man schon speichern welcher user gerade eingelogt ist, damit dieser bei einem erneuten einloggen mit der alten session ausgeloggt werden kann, bzw. wenn es wirklich der selbe user mit identischem fingerprint ist, beide logins in der selben session aufgeführt werden... dies wäre aber ja nur beim einloggen/starten einer session selber nötig, nicht bei jedem seitenaufruf....
Die Sessiondaten statt im Filesystem mit selbstdefinierter Funktion auch in der DB speichern -> session_set_save_handler()
In der selbstdefinierten Sessiontabelle index auf die session-ID nicht vergessen, noch 'ne Spalte für die Benutzer-ID und die gleich als unique definieren. Voilà.
Ok vielen Dank erstmal : )
Werde das jetzt wohl mit einer Datenbankanbindung lösen.
Jetzt stellt sich aber die Frage:
Ein User ist bereits eingeloggt und jetzt meldet sich einer nocheinmal an. -> Mehrfachlogin -> Soll jetzt der der bereits drin ist die Session verlieren oder der der sich einloggen will erhält eine Fehlermeldung? Ob gleicher Fingerprint ist eigentlich egal, tendiere derzeit dazu dass wenn sich einer nocheinmal anmeldet die alte Session einfach ihre Gültigkeit verliert.
kenne das eigentlich so, dass der neue eine meldung bekommt, dass noch eine session aktiv ist, und diese gelöscht wird, wenn er mit ok bestätigt, wenn er dann ok klickt die alte löschen, wenn er auf abbrechen klickt den loginprozess unterbrechen...