Probleme mit Login Script immer zweimal anmelden!

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

  • Probleme mit Login Script immer zweimal anmelden!

    Moin,
    ich bin noch relativ

  • #2
    Re: Probleme mit Login Script immer zweimal anmelden!

    Original geschrieben von Blackangel1984
    Moin,
    ich bin noch relativ
    ... im halbschlaf

    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Hups sorry,

      also noch mal.

      Bin relative laie mit PHP und bin an einem Login das eigentlich fast korrekt funktioniert!
      Nur ein Problem habe ich:

      Wenn ich mich auf meiner Login Seite anmelde werde ich wieder auf die Login Seite geleitet und muss mich nochmal anmelden erst dann komm ich auf die Interne Seite.

      Wenn ich die Session dazu betrachte kriege ich bei der ersten Anmeldung eine Session und bei der zweiten Anmeldung wirde diese noch überschrieben sprich nochmal neu gesetzt!

      Hier mal das Anmeldescript:
      PHP-Code:
      function login($userid)
      {
          
      $login="UPDATE users
          SET UserSession='"
      .session_id()."'
          WHERE UserID='"
      .$userid."'";
          
      mysql_query($login);
          unset(
      $login);
          
      $LastL="UPDATE users
          SET LastLDate='"
      .date("d.m.Y H:i:s")."'
          WHERE UserID='"
      .$userid."'";

      Reicht das zu einer Fehler bestimmung oder braucht ihr mehr?

      Kommentar


      • #4
        wozu schreibst du die SID in die DB?
        Du machst dir doch damit ein wichtiges Sicherheitsfeature kaputt!
        session_regenerate_id()
        Nagut, um Angriffe auf Sessions zu erkennen, kann es sich lohnen, die SIDs eine Weile aufzuzeichnen.
        Dann würde deine Tabelle aber anders aussehen
        Wir werden alle sterben

        Kommentar


        • #5
          Wie sollte ich sonst mit der SID umgehen? Ich brauche die ja zum kontrollieren ob der jenige User schon eingeloggt ist!

          Oder verstehe ich das falsch?

          Denn mein Funktion zum überprüfen lautet:
          PHP-Code:
          function logged_in()
          {
              
          $logged="SELECT UserId
              FROM users
              WHERE UserSession='"
          .session_id()."'";
              
          $resultmysql_query($logged);
                return ( 
          mysql_num_rows($result)==1);

          Kommentar


          • #6
            Ich halte das für ein falsches Vorgehen!


            Vorschlag:
            1. Ignoriere die SID erstmal vollständig.
            2. unterscheide zwischen Gast und Eingeloggt,
            z.B.:
            Gast--> (user_id === 0)
            Eingeloggter--> (user_id >= 1)
            3. In $_SESSION speicherst du nur die user_id.
            4. Den Rest der Userdaten erst bei Bedarf von der DB holen.
            Wir werden alle sterben

            Kommentar


            • #7
              Wie sieht es dann aus wenn sich der User keinen Logout macht dann ist er ja immer eingeloggt!
              Scheint mit auf den ersten Blick etwas unsicher!

              Was ist wenn die UserID gesnifft wird?

              Kommentar


              • #8
                Wie sieht es dann aus wenn sich der User keinen Logout macht dann ist er ja immer eingeloggt!
                Hää...
                1. Die Session Müllabfuhr schlägt irgend wann zu.
                2. Das Cookie verfällt beim Browser schließen.

                Was ist wenn die UserID gesnifft wird?
                Ja, was ist dann?
                Sage es mir!

                Scheint mit auf den ersten Blick etwas unsicher!
                Aha!
                Die SID ist also sicherer?
                In meinem Browser kann ich mir meine SessionCookies nach belieben zurecht stöpseln.

                Welche Sorgen plagen dich?
                Wir werden alle sterben

                Kommentar


                • #9
                  Sorry bin erst nicht durchgestiegen!

                  Aber jetzt!

                  Mach mich mal an die Arbeit und wenn ich noch was habe schreie ich ganz laut!

                  Kommentar

                  Lädt...
                  X