php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.10.2006, 08:33  
Benutzer
 
Registriert seit: 27.04.2006
Beiträge: 42
Tommek
Standard Session bei Zweitanmeldung zerstören

Hallo,
Ich betreibe eine Seite bei der man sich mit Login+Pass anmeldet (MySQL Tabelle).
Ich würde gerne folgendes umsetzen:
Loggt sich ein Nutzer gleichzeitig ein zweitesmal mit dem selben Account ein, so soll die erste Session zerstört werden.

Die SID könnte man ja in der MySQL-DB abspeichern und dem Login-Namen zuordnen.
Wie zerstört man dann aber die Session?


grüße
__________________
In der Ehe ist wohl der Hauptgrund für die vielen Scheidungen zu sehen. [Maj. Frank Burns]
Tommek ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.10.2006, 09:14  
Erfahrener Benutzer
 
Registriert seit: 02.08.2004
Beiträge: 472
duderino
Standard

Wenn er sich ein zweites mal anmeldet, sollte sich die Session automatisch zerstören. Ansonsten probierts mit unset($_SESSION);
duderino ist offline  
Alt 25.10.2006, 09:30  
Benutzer
 
Registriert seit: 27.04.2006
Beiträge: 42
Tommek
Standard

Nicht wenn sich der User mit einem zweiten Browser anmeldet.
Habe mir nun folgende Strategie überlegt:

Beim Login den Sessionnamen in die DB schreiben.

auf der eigentlichen Seite dann den Sessionnamen aus der DB holen, ist er ungleich dem aktuellen Sessionnamen dann ein session_destroy.

Lässt sich das effizienter lösen?
Man kann bei Session_destroy ja leider keinen Namen angeben, oder geht das irgendwie?
__________________
In der Ehe ist wohl der Hauptgrund für die vielen Scheidungen zu sehen. [Maj. Frank Burns]
Tommek ist offline  
Alt 25.10.2006, 09:34  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Zitat:
Zitat von Tommek
Beim Login den Sessionnamen in die DB schreiben.

auf der eigentlichen Seite dann den Sessionnamen aus der DB holen, ist er ungleich dem aktuellen Sessionnamen dann ein session_destroy.

Lässt sich das effizienter lösen?
Das wird wohl die einfachste Möglichkeit sein.

Zitat:
Zitat von Tommek
Man kann bei Session_destroy ja leider keinen Namen angeben, oder geht das irgendwie?
Nein, das geht nicht.

Nachtrag: Die Prüfung sollte natürlich auf die Sessionid und nicht auf den Sessionnamen erfolgen.
xabbuh ist offline  
Alt 25.10.2006, 10:29  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Zitat:
Zitat von Tommek
Beim Login den Sessionnamen in die DB schreiben.

auf der eigentlichen Seite dann den Sessionnamen aus der DB holen, ist er ungleich dem aktuellen Sessionnamen dann ein session_destroy.
Wichtig ist, die Zeit mitzuspeichern, andernfalls kommst du ja garnicht mehr rein, wenn die Session abgelaufen ist (weil der DB-Eintrag ja noch existiert).

Und, anstatt session_destroy() rufst du die normale Logout-Routine auf, denn dann musst du Änderungen daran nicht mehrfach vornehmen. Im Moment steht da vielleicht nur ein unset($_SESSION); setcookie(...Vergangenheit); session_destroy() (wie im Handbuch eben beschrieben), aber vielleicht willst du irgendwann da lieber noch ein session_regenerate_id(true) hinzufügen, da dann viellicht auch nicht angemeldete Benutzer eine Session haben sollen. Macht also Sinn, das alles an einen Ort zu packen.

Basti
Basti ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Session Problem karina_02 PHP Tipps 2008 6 18.05.2008 22:37
Session Variablen als Referenz!? O_o Sam781 PHP-Fortgeschrittene 4 01.10.2007 11:19
Problem bei session Lifetime Cyberbob_at_tot PHP Tipps 2007 5 05.06.2007 17:47
Session in Session tinchen PHP Tipps 2007 22 21.03.2007 19:53
session nach seitenwechsel leer... GELight PHP Tipps 2006 8 17.09.2006 15:17
Frage zur Anwendung einer Session mehrfach... GELight PHP Tipps 2006 10 12.03.2006 16:47
[Erledigt] php session problem :( PHP Tipps 2005-2 5 21.10.2005 16:37
Klassenobjekt in ner Session speichern?! Finkman PHP Tipps 2005-2 5 09.08.2005 00:38
Session wird nicht angelegt PHP Tipps 2005-2 7 24.07.2005 13:35
Kreieren einer Session PHP Tipps 2005 11 28.05.2005 15:16
Session error nach Umstellung auf PHP 5 PHP Tipps 2005 15 13.05.2005 14:35
verliere Session Sonja PHP Tipps 2005 3 27.04.2005 09:32
Session Problem PHP-Fortgeschrittene 3 18.02.2005 14:37
[Erledigt] Formulardaten in einer Session speichern, per Link übergeben PHP Tipps 2004-2 2 29.12.2004 15:47
[Erledigt] Hilfe...PhpBB Session Problem!! PHP Tipps 2004-2 2 15.12.2004 18:28

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
session automatisch zerstören, session_destroy alle angemeldeten, zweitanmeldung

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:23 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.