PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |

22-03-2005, 21:58
|
php4tric
Newbie
|
|
Registriert seit: Mar 2005
Beiträge: 17
|
|
Alle Sessions auflisten
Hallo,
Ich möchte vermeiden, dass sich jemand mit dem selben Username und PW zweimal einloggen kann.
Ich arbeite mit PHP Sessions.
Die Idee wäre, beim Login zu checken ob bereits eine Session ID mit dem selben Username und PW existiert.
Wie kann ich alle noch auf dem Server existierenden Session ID auflisten und auf oben genannten Umstand durchsuchen.
Ich weiss, dass die Session IDs im Verzeichnis /tmp sind. Doch dort sehe ich keine Sessions
Oder gibt es einen anderen Weg...oder Thread
Danke für jede Hilfe
gruss
tric
|

22-03-2005, 22:01
|
Abraxax
  THE REAL HAXE (Administrator)
|
|
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.625
|
|
warum machst du das nicht einfach in der datenbank selber?
einfach ein flag in der usertabelle wo die aktuelle session.id enthalten ist.
loggt sich ein user mit einem account ein, wird die session.id dort reingeschrieben.
loggt sich noch ein user mit der gleichen kennung wird die neue session.id reingeschrieben.
beim neuladen von seiten prüfst du nun auch noch ab, ob die aktuelle session.id mit der aus der db übereinstimmt. passt es nicht, ist der user wieder weg vom fenster....
|

22-03-2005, 22:12
|
php4tric
Newbie
|
|
Registriert seit: Mar 2005
Beiträge: 17
|
|
OK, aber was mache ich, wenn sich der User nicht korrekt abmeldet (z.B. Browser Fenster schliesst). Dann bleibt doch das Flag mit der Session ID in der User TAbelle drin..?? Oder mache ich einen Denkfehler
|

22-03-2005, 22:14
|
aimbot
PHP Junior
|
|
Registriert seit: Feb 2004
Ort: Lahr - Germany
Beiträge: 779
|
|
Ich glaube n Denkfehler
Wenn sich $user2 einlogged wird ja die _neue_ sessionid in die tabelle geschrieben. d.h. der _alte_ user würde rausfliegen.
Somit hat sich das mit dem korrekten abmelden erledigt. Es sei denn ich hab jetzt nen Denkfehler *g*
MfG
aimy
|

22-03-2005, 22:23
|
php4tric
Newbie
|
|
Registriert seit: Mar 2005
Beiträge: 17
|
|
hmm...vielleicht ist noch wichtig zu erwähnen, dass ich das
GLEICHZEITIGE 2malige LOGIN verhindern will.
Konkret. Ein User gibt dem Kollegen den Usernamen und das Passwort und beide sitzen zu gleichen Zeit am Compi...DAS WILL ICH VERMEIDEN
|

22-03-2005, 22:26
|
aimbot
PHP Junior
|
|
Registriert seit: Feb 2004
Ort: Lahr - Germany
Beiträge: 779
|
|
gleichzeitig gibts in dem sinn nicht. ich bezweifel dass der _kolleg_ sich in der selben millisekunde anmeldet wie der _user_.
in dem fall wäre das problem ja dann auch nicht vorhanden oder versteh ich jetz nich was du meinst?
MfG
aimy
|

22-03-2005, 22:30
|
php4tric
Newbie
|
|
Registriert seit: Mar 2005
Beiträge: 17
|
|
Nun, gleichzeitig soll nich heissen beide auf die millisec genau gleich sonder:
Während (z.B. von 08h00 - 12h00) sich ein user im geschützten bereich befinden, darf sich nicht ein 2ter (login-versuch z.B. 09h00) einloggen können.
|

23-03-2005, 00:16
|
Wurzel
Master  
|
|
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
|
|
lies nochmal das posting von abraxax ... und für die abmeldung lässt du einen cronjob laufen und/oder killst die einträge bei einen doppellogin
|

23-03-2005, 00:20
|
hauke
Newbie
|
|
Registriert seit: Jan 2005
Beiträge: 83
|
|
hab ne simple idee:
machst ne neue spalte in der table "loggedin" oder so, und wenn sich jemand anmeldet, wird dort der eintrag "1" updated! und dann schauste halt mit if immer, ob loggedin="1" ist, wenn nich, kill de user und wenn doch denn schön
|

23-03-2005, 10:59
|
xManUx
Registrierter Benutzer
|
|
Registriert seit: Feb 2004
Beiträge: 833
|
|
Zitat:
Original geschrieben von php4tric
Nun, gleichzeitig soll nich heissen beide auf die millisec genau gleich sonder:
Während (z.B. von 08h00 - 12h00) sich ein user im geschützten bereich befinden, darf sich nicht ein 2ter (login-versuch z.B. 09h00) einloggen können.
|
?? Und was ist, wenn ich mich von 8 bis 12 uhr mich irgendwo aufhalten darf, aber zwischendurch mein pc neu starten muss? ich würde dir eher dazu raten da gruppen-rechte o.ä. zu implentieren, falls ich dic hrichtig verstanden habe. andernfalls musst du dir ne extra tabelle anlegen wo du z.b. sessions speicherst, die bis so und so viel uhr sich nicht einloggen darf, was heißt, dass du mit php vorher prüfen musst, ob der username bereits eingeloggt ist, ist das der fall, dann sperr die session für eine weile damit ein weiterer login verweigert wird.. aber wozu der ganze aufwand? und wie gesagt... was ist wenn man den pc neu startet?
__________________
Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
sondern mit den Augen das Manual zu lesen.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|