Autologin

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

  • Autologin

    Hallo,

    auch wenn ich der hunderste bin, der sowas postet, ich hab einfach keine Lösung gefunden, weder hier im Forum noch sonst wo!

    Folgendes Problem:

    Ich habe ein Login, welchen eine Session setzt ($_SESSION['username']) diese ist nun aktiv, schön und gut!

    Nach dem schliessen des Browsers ist die Session natürlich beendet! Nun möchte ich aber daß die Session für einen Autologin aufrecht erhalten wird! Ich habs mit cookies probiert, gespeichert habe ich im cookie den Usernamen und das PW (als jeweils einen Wert!)! Nun hab ich aber keinen Plan, wie ich das ausgelesene aus dem cookie verwenden soll!

    Nun zu meinen Fragen:

    1. Kann ich auf cookies verzichten und es effektiv mit sessions machen?
    2. Wenn nicht, wie nutze ich ausgelesene Daten aus einem cookie für einen Autologin?
    3. Wie kann ich in einem cookie die werte username und passwort zusammenführen und zum autologin wieder auseinandernehmen?

    So, ich danke jetzt schon mal für die Antworten!

    Gruß
    Baschi
    Gruß
    Baschi

  • #2
    1. fuehr autlogin fuehrt eigentlich nicht viel an nem cookie vorbei ...

    2. wie man cookies halt ausliest

    3. speicher, wenn den usernamen/id und das verschluesselte passwort [ NIEMALS EIN PASSWORT IM KLARTEXT] ab ...
    aber auch das nur bei seiten die nicht sonderlich sicherheitsrelevant sind ....

    EDIT:

    ach ja speicher am besten biedes in einer variable im cookie und mit nem trennzeichen ....
    dann beim auslesen einfach nur wieder auseinanderbasteln




    gruss
    iglo

    Kommentar


    • #3
      Danke iglo,

      bin begeistert, daß noch jemand auf ein "allerweltsthema" antwotet!

      Nun aber zu meinem Problem!

      Wie kann ich das ganze denn auseinanderbasteln?

      Als Beispiel:

      PHP-Code:
      <?

      $cookiewert = "123okay";

      $var = time() + 3600;    
      setcookie("autologin", "$cookiewert", $var); 

      ?>
      Wie bekomme ich denn dann 123 und okay wieder auseinander?
      Gruß
      Baschi

      Kommentar


      • #4
        ich würde ein Trennzeichen hinzufügen # oder was auch immer.

        auslesen kannst es so

        beim betreten der seite

        PHP-Code:
        if(isset($_cookie['autologin'])){
        $array explode("trennzeichen",$_cookie['autologin']);

        Kommentar


        • #5
          jepp .... nimm als trennzeichen einen wert der im usernamen und im passwort nicht vorkommen kann ...

          und dann so wie es da steht

          gruss
          iglo

          Kommentar


          • #6
            Ja, das geht!

            Kann sein, daß es schon etwas spät ist, aber irgendwie stehe ich gerade auf dem Schlauch!

            Wie setze ich denn jetzt eine funktionierende Session mit diesen Werte?

            Gruß
            Baschi
            Gruß
            Baschi

            Kommentar


            • #7
              so setzt du das cookie
              PHP-Code:
              <?

              $cookiewert = "username@id"; //oder was auch immer du in das cookie schreibst

              $var = time() + 3600;    
              setcookie("autologin", "$cookiewert", $var); 

              ?>
              und auslesen
              PHP-Code:
              if(isset($_cookie['autologin'])){
              $array explode("@",$_cookie['autologin']);
              $_SESSION['username'] = $array[0];
              $_SESSION['id'] = $array[1];

              Kommentar


              • #8
                Original geschrieben von bla
                und auslesen
                PHP-Code:
                if(isset($_cookie['autologin'])){
                $array explode("@",$_cookie['autologin']);
                $_SESSION['username'] = $array[0];
                $_SESSION['id'] = $array[1];

                das kann ja wohl auf keinen fall alles sein - sonst übermittle ich dir per cookie username stoiber und passwort jodel, und bin "drin", obwohl es diesen account gar nicht gibt.

                so bald du die daten aus dem cookie hast, solltest du diese zu allererst an deine ganz normale login-routine übergeben. (dabei natürlich beachten, dass das PW bereits verschlüsselt ist. würde sich deshalb anbieten, passwörter z.b. MD5-verschlüsselt in der DB abzulegen, und im cookie dann auch den MD5-wert zu speichern o.ä.)
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Original geschrieben von kapitaeniglo
                  jepp .... nimm als trennzeichen einen wert der im usernamen und im passwort nicht vorkommen kann ...

                  und dann so wie es da steht

                  gruss
                  iglo
                  Du solltest halt beachten das du überprüfst das dein Trennungszeichen als nicht erlaubtes Zeichen im Usernamen nicht vorkommen darf. Entsprechend überprüfen bei der Passwort-Generierung, Änderung!

                  Passwort ist egal da dies in der DB mit md5 verschlüsselt wird und das verschlüsselte PW mit dem verschlüsselten Hashwert verglichen wird.
                  [color=blue]MfG Payne_of_Death[/color]

                  [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                  [color=red]Merke:[/color]
                  [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                  Murphy`s Importanst LAWS
                  Jede Lösung bringt nur neue Probleme
                  Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                  In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                  Kommentar


                  • #10
                    Original geschrieben von Payne_of_Death
                    Du solltest halt beachten das du überprüfst das dein Trennungszeichen als nicht erlaubtes Zeichen im Usernamen nicht vorkommen darf. Entsprechend überprüfen bei der Passwort-Generierung, Änderung!
                    warum dann nicht gleich serialize/unserialize hernehmen, anstatt sich selbst eine lösung zu basteln ...?
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Original geschrieben von wahsaga
                      warum dann nicht gleich serialize/unserialize hernehmen, anstatt sich selbst eine lösung zu basteln ...?
                      1.) Vielleicht weil ich in einer Programmiersprache arbeite bei der man drumrum programmieren muss und sich selber Funktionen erstellen muss anstatt auf bestehende zurückzugreifen und dann eben gleich so denkt...

                      2.) Oder das ich gerade keine Zeit hatte um im Manual zu nachzuschauen

                      Natürlich ist es besser und schneller bereits bestehendes zu verwenden .....

                      In diesem Sinne
                      [color=blue]MfG Payne_of_Death[/color]

                      [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                      [color=red]Merke:[/color]
                      [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                      Murphy`s Importanst LAWS
                      Jede Lösung bringt nur neue Probleme
                      Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                      In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                      Kommentar


                      • #12
                        Hi

                        Ich habe mal testweise den Vorschlag von bla genommen und funktioniert auch fast... das Cookie lässt sich setzen (hab im Browser nachgesehen) aber ich kann es mit PHP nicht mehr auslesen.

                        eigentlich müsste dass ja auch so klappen oder?

                        echo $_cookie['autologin'];

                        leider passiert gar nix. hab php5.

                        EDIT:
                        mit error_reporting(E_ALL); kommt folgendes:
                        Notice: Undefined variable: _cookie in /home/test/public_html/test/index.php on line 7

                        Zuletzt geändert von PHPbeginner; 19.04.2005, 13:37.

                        Kommentar


                        • #13
                          $_COOKIE
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            OffTopic:

                            Original geschrieben von Payne_of_Death
                            Passwort ist egal da dies in der DB mit md5 verschlüsselt wird und das verschlüsselte PW mit dem verschlüsselten Hashwert verglichen wird.
                            streich mal alle "verschlüsselt/e/en".
                            MD5 hat rein garnichts mit Verschlüsselung zu tun.

                            MfG
                            aim
                            Lies mich jetzt!
                            - OT-Tags-Liebhaber und BB-Code-Einrücker -

                            Kommentar

                            Lädt...
                            X