Mehrfacher Login

Begonnen von amhhv, 18 Mai 2010, 11:49:52

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

amhhv

Derzeit ist es möglich, sich mehrfach gleichzeitig (verschiedene Browser / IP etc.) als User einzuloggen. Gibt es eine Möglichkeit dies zu unterbinden, also für jeden Benutzer nur ein Login zuzulassen, bis eine Abmeldung erfolgt oder wäre dies eine sehr umfangreiche Anpassung/Änderung?


RiotheRat

Da im mX ja alles über die 3 Dateien

• index.php
• modules.php
• admin.php

läuft dürfte das nicht allzu tricky sein. Ich frage micht nur ... "wozu"? Internetcafes, Wohngemeinschaften, u.ä. wären dann "aussen vor"

RtR
Unaufgeforderte PNs & Emails werden ignoriert

Erst wenn die letzte Zeile Code verhunzt, der letzte Server gehackt und der letzte Script-Kidde befriedigt ist, erst dann, werdet Ihr feststellen, dass Nuke nicht sicher ist...

lemming

Natürlich weiß ich jetzt nicht was du speziell vor hast aber sagen wir du hast ein Modul, was pro User exakt nur einmal angezeigt werden darf.

Dann kannst du das mit einem Session-Cookie lösen. Und zwar prüfst du beim ausgeben des Moduls auf den Wert des Cookies.

Pseudomäßig also so:

if (running = false)
-zeige den htmlcode/das modul/was uach immer.
-setze cookie variable running auf true
else
-nix gibts

mit hilfe des onunload js-events kannst du dann den wert wieder auf false setzten:
http://www.javascriptkit.com/javatutors/event5.shtml

Vielleicht hilft dir das weiter.
greetz,
Jörg

------------------------
Mitgliedersuche v.0.3 *new*

amhhv

RtR: Mir geht es nur um ein einloggen mit dem gleichen Username. Also User: abc darf immer nur einmal eingeloggt sein. Dies hätte ja keinerlei Auswirkung auf Wohngemeinschaften etc., da verschiedene User ( abc, abc1,...) sich durchaus mit der gleichen IP anmelden können.


lemming: Danke für den Hinweis. PMX selbst hat ja schon ein Session-Cookie. Ich schaue gerade ob man den für meine Zwecke verwenden könnte und werde hier posten falls dem so ist.

Abgefragt werden muss eigentlich auch nur das Login Modul und nicht jeder Seitenaufruf, da bei dem Login dann eine Fehlermeldung erscheinen würde, sofern der User schon angemeldet ist.

amhhv

Ich habe mich wahrscheinlich ziemlich undeutlich ausgedrückt bezüglich des mehrfachen Logins.

Ich suche nach einer Möglichkeit zu verhindern, dass man sich unter dem gleichen USERNAMEN mehrfach anmeldet, etwas was derzeit nicht verindert wird. Wenn also USER: abc angemeldet ist und über einen anderen Browser oder eine andere IP efolgt eine weitere Anmeldung als abc, dann soll eine Meldung erscheinen z.B. Du bist bereits angemeldet, bitte log Dich erst aus....

Ich stelle mir eine Lösung so vor: Bei dem Login wird der Username / UID als aktiv/online markiert. Erfolgt nun eine weitere Anmeldung unter dem Username wird der Status abgefragt und eine Fehlermeldung angezeigt sofern bereits eine aktiive Session unter dem Username vorliegt. Das Problem ist nur, dass sich nicht jeder User abmeldet und dann nach gewisser Zeit der inaktivität der Status wieder auf inaktiv gesetzt werden muss, ansonsten wäre ja keine Anmeldung mehr möglich

Dies geht wahrscheinlich über den Cookie oder eine Session ID, aber wie man die ausliest ist mir nicht ganz klar.

lemming

jetzt rein vom kriterium her könntest dafür vllt. auch das im profil angezeigte "online" / "offline" verwenden. ich meine das ist n wert in der datenbank, bin mir aber im moment nicht ganz sicher. schau dir die tabelle *_users mal an.

danach wär halt wichtig, dass du die stelle findest bevor dieser status auf online gesetzt wird. ansonsten machts natürlich kein sinn :)

greetz,
Jörg

------------------------
Mitgliedersuche v.0.3 *new*

amhhv

Lemming:
Ja, so habe ich es mir auch vorgestellt. Habe jedoch schon in sämtliche Tabellen nach einem ähnlichen Eintrag durchforstet, aber bisher nichts gefunden. In *_user wird der derzeitige Status soweit ich sehe aber auch nicht gespeichert.

RiotheRat

Der aktuelle Status (online/offline) wird nicht gespeichert, sondern errechnet  ;)

Wo ich aber drauf rumkau ... wenn schon ein "Log-In" besteht dann soll ja ausgegeben werden "Du bist bereits angemeldet, bitte log Dich erst aus...." Wenn aber durch einen Disconnect des Internetproviders (manche machen sowas ja periodisch 1 x am Tag) aber "nur" eine neue IP an mich vergeben wurde, dann kann ich mich ja gar nicht ausloggen. Für das System wäre ich dann ja ...

... mit meiner alten IP "drin"
und
... möchte mit meiner neuen IP rein

Mit der alten IP kann ich mich nicht ausloggen (weil die ja durch den ISP kommt) und mit der neuen kann ich mich nicht einloggen. Das ist irgendwie wie der Hamster der ewndlos im Laufrad rennt.

Fragend, RtR
Unaufgeforderte PNs & Emails werden ignoriert

Erst wenn die letzte Zeile Code verhunzt, der letzte Server gehackt und der letzte Script-Kidde befriedigt ist, erst dann, werdet Ihr feststellen, dass Nuke nicht sicher ist...

lemming

mhm ok dann muss ich da wohl was falsch in erinnerung gehabt haben.

@RtR, wenn dein provider dir ne neue IP zu teilt und du vllt. für 5 sek. offline bist, interessiert das doch dein browser nicht. wenn du danach auf nen anderen link klickst, ist als wäre nichts gewesen. amhhv muss nur ein kriterium finden, ob der status errechnet wird oder nicht, reicht doch trotzdem.
greetz,
Jörg

------------------------
Mitgliedersuche v.0.3 *new*