Alle Sessions auflisten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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

  • #2
    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....
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      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

      Kommentar


      • #4
        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
        MfG
        aim
        Lies mich jetzt!
        - OT-Tags-Liebhaber und BB-Code-Einrücker -

        Kommentar


        • #5
          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

          Kommentar


          • #6
            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
            MfG
            aim
            Lies mich jetzt!
            - OT-Tags-Liebhaber und BB-Code-Einrücker -

            Kommentar


            • #7
              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.

              Kommentar


              • #8
                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
                Kissolino.com

                Kommentar


                • #9
                  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

                  Kommentar


                  • #10
                    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.

                    Kommentar

                    Lädt...
                    X