Login mit Session --> Automatisches einloggen?

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

  • Login mit Session --> Automatisches einloggen?

    Hi, ich habe ne Frage, kann ich bei einem Session gestützten Login System ein automatisches einloggen verwirklichen? Oder was muss ich tun, damit es funktioniert? Cookies und Sessions? Ist sowas überhaupt möglich?

    Gruß und guten Rutsch!

  • #2
    Ja, genau!
    Cookies für automatischen login
    und Session um die ausgelesenen Daten schnell weiter zu transportieren.
    Kannst Session aber auch weglassen, besonders bei Framebasierten Seiten.

    Kommentar


    • #3
      Nene, wird ne seite aus Tabellen, nicht mit frames, nur eine Frage habe ich, erstens, was muss ich in dem cookie speichern, wie speicher ich den cookie und bekommt man nicht immer eine neue SessionID wenn man eine seite schließt und wieder aufruft, sodass die sessions unbrauchbar sind?

      Gruß

      Kommentar


      • #4
        Du fragst per Registration o.ä. den username ab,
        speicherst ihn mit:
        PHP-Code:
        setcookie("username"$nametime()+30*24*60*60); 
        unter dem Namen username und dem Inhalt von $name.
        Der Cooky bleibt 30 Tage gültig.

        Mit:
        PHP-Code:
        $name $HTTP_COOKIE_VARS["username"]; 
        liest du den Inhalt wieder aus.
        Per Session wird der Name jetzt gespeichert, so daß er nicht bei jedem Seitenaufruf neu ausgelesen werden muß.

        Zuletzt geändert von darkone; 01.01.2003, 02:50.

        Kommentar


        • #5
          Ist das nur per Usernamen identifizieren nicht ein bischen unsicher?

          Kommentar


          • #6
            Ja, das ist ziemlich löchrig.
            [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
            [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
            [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

            © Harald Schmidt

            Kommentar


            • #7
              Mehr Infos im Cookie

              Ich speichere mehr Infos im Cookie:

              PHP-Code:
              $cookievalue $username '|' $hash
              Der Hash-Wert (Prüfsumme) setzt sich folgendermaßen zusammen:

              1. Username
              2. Passwort
              3. Browser des Users ($_SERVER['HTTP_USER_AGENT'])
              4. geheimer String

              und as Ganze ist md5-Verschlüsselt:

              PHP-Code:
              $hash md5($username.$password.$user_agent.$secret); 
              Wenn jetzt ein User erneut komm, zerteile ich den Wert des Cookies wieder in zwei Teile, mache mit dem Klartext-Benutzernamen eine DB-Abfrage des Passwortes, baue mir einen neuen Hash-Wert auf dem Server zusammen und vergeiche diesen dann mit dem Hash-Wert des Cookies.

              Mit dieser Methode ist sichergestellt, dass
              1. der gespeicherte Cookie sicher zu diesem User gehört.
              2. Dass der Cookie ungültig wird, sobald der User sein Passwort ändert.
              3. Dass der Cookie nicht einfach auf einen anderen Rechner übertragen werden kann (zumindest bräuchte man ganz exakt die gleiche Browser/OS-Kombination und müsste ersteinmal wissen, dass das eine Rolle spielt) und
              4. dass niemand ausser dem Server diesen Cookie erzeugt haben kann (niemand sonst kennt ja diesen geheimen String).

              Ich glaube, diese Methode ist einigermaßen sicher.

              Oliver.

              Kommentar


              • #8
                na die letzte Variante hört sich ja schon viel sicherer an

                Naja, gut, fürs Verständnis: Wie lege ich den cookie an, wie frag ich ihn ab, wie kann ich damit ein Rechte system machen...

                Ich habe nur Erfahrung mit sessions, kann ich die nicht weiterbenutzen mit Hilfe des Cookies?


                ThX

                Kommentar


                • #9
                  Original geschrieben von Bodyguard
                  Naja, gut, fürs Verständnis: Wie lege ich den cookie an, wie frag ich ihn ab,
                  http://www.php.net/manual/de/function.setcookie.php

                  wie kann ich damit ein Rechte system machen...
                  Wie man ein Rechtesystem aufbaut gehört eher in einen neuen Thread...

                  Ich habe nur Erfahrung mit sessions, kann ich die nicht weiterbenutzen mit Hilfe des Cookies?
                  Dein Login-Mechanismus bleibt so wie er ist - mit Sessions. Der hier beschriebebe Cookie transportiert nur Daten von einer Session zur nächsten. D.H. beim Start der allerersten Session setzt Du den Cookie und die Session läuft danach ganz normal und unabhängig von dem neuen Cookie weiter.
                  Wenn der User das nächste mal wiederkommt, exisiert ja seine ursprüngliche Session nicht mehr. Und beim Start der neuen Session ersparst Du ihm mit dem Cookie die erneute Eingabe von Usernamen und Passwort. Danach läuft auch alles wieder unabhängig von diesem Cookie.

                  PHP selbst legt unabhängig wahrscheinlich noch einen zweiten Cookie an, um die Session-ID zu speichern. Der spielt aber nur für diese eine Session eine Rolle und ist danach swieso ungültig.

                  Oliver.

                  Kommentar


                  • #10
                    Ich habe momentan ein Rechte system, dass auch super funtioniert... also brauche ich das auch nicht zu erweitern oder zu verändern wegen dem Cookie oder?

                    Gruß

                    Kommentar


                    • #11
                      Original geschrieben von Bodyguard
                      Ich habe momentan ein Rechte system, dass auch super funtioniert... also brauche ich das auch nicht zu erweitern oder zu verändern wegen dem Cookie oder?

                      Gruß
                      Genau. Das Rechte-System bleibt unverändert. Nur den Login-Mechanismus musst Du minimal erweitern.

                      Oliver.

                      Kommentar


                      • #12
                        Ok, nur aus der Erklärung im Manual werde ich icht schlau

                        Kommentar


                        • #13
                          Was könnte man bei der Lösung von Oli-1 als geheimen String benutzen?

                          Kommentar


                          • #14
                            alles!

                            zum beispiel "auto" oder "wegfahrsperre" oder "sfiojdklfhsdjlhfdsfhlkhfkldfhkldsfpojerigjvbu" oder "Was könnte man bei der Lösung von Oli-1 als geheimen String benutzen?"

                            Was du willst

                            Kommentar


                            • #15
                              Das ausgeben des Cookies ist ja kein Problem. Jetzt habe ich aber auf meiner Variablen $cookievalue

                              PHP-Code:
                              $cookievalue $HTTP_COOKIE_VARS["login-bereich"];
                              echo 
                              $cookievalue
                              den folgenden String: admin|061e9a41e6af82ec3179ecaa3748d6aa

                              Das erste ist halt der username und dahinter der gesamte Hash-Wert, den ich erstellt habe mit:

                              PHP-Code:
                              $user_agent $_SERVER['HTTP_USER_AGENT'];
                              $secret 'FHsjfsf72wrIHFehfbfjwFhhfFHDiaE7';
                              $hash md5($username.$password.$user_agent.$secret);
                              $cookievalue $username '|' $hash
                              Wie bekomme ich jetzt wieder das Passwort entschlüsselt, um es mit der MySQL-DB zu vergleichen?
                              Zuletzt geändert von swimming; 09.03.2003, 21:53.

                              Kommentar

                              Lädt...
                              X