kleines timing-prob mit cookies...

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

  • kleines timing-prob mit cookies...

    tach auch, ich hab mal wieder n kleines prob, nix aufsehen-erregendes, aber doch nervend, und zwar will ich n kleines login-teil machen, und zwar mit cookies. jetzt möchte ich das cookie aber sofort nach dem setzen wieder auslesen, was aber irgendwie net ganz klappt, das dauert anscheinend n paar sekunden bis das richtig drin is... kann man da irgendwas dagegen machen? ich weiß, ich könnt das ja so machen dass es nicht sofort ausgelesen wird, aber ich hätts schon ganz gern so, wenns irgendwie geht.
    hier mal die 3 dateien:

    login.php:
    PHP-Code:
    <?
    $oben="<html> <head> <title>login</title> </head> <body>";

    if(isset($username) || (isset($crazychaos_login) && $crazychaos_login != "anonym"))
        {
        if(isset($username))
            {
            $zeit = time()+(3600*24*365);
            setcookie ("crazychaos_login",$username,$zeit);
            }
        if(isset($crazychaos_login) && $crazychaos_login != "anonym")
            {
            echo $oben;
            echo "Du bist eingeloggt als $crazychaos_login!<br><a href=\"admin.php\">weiter</a>";
            }
        }
    else
        {
        echo"
        <form action=\"login.php\" method=\"post\"> 
        Username : <br> 
        <input type=\"text\" name=\"username\" size=\"20\" maxlength=\"20\"><br> 
        <input type=\"submit\" name=\"absenden\" value=\"einloggen\"> 
        </form> 
        ";

        }

    ?>

    </body> 
    </html>
    admin.php:
    PHP-Code:
    <html> 
    <head> 
    <title>Adminzone</title> 
    </head> 
    <body>
    <?
    if (!isset($crazychaos_login) || $crazychaos_login == "anonym") 
        { 
        die ("Sorry, aber du bist wohl nicht eigeloggt, oder?"); 
        }

    echo "Hi $crazychaos_login!";

    ?>

    <br> 
    <input type="button" name="logout" value="logout" onClick="location.href='logout.php'"> 
    </body> 
    </html>
    und schließlich logout.php:
    PHP-Code:
    <?
    if(setcookie ("crazychaos_login","anonym",1))
        {
        echo "Ausgeloggt!<br>";
        }
    ?>

    <a href="login.php">login</a><br>
    <a href="admin.php">admin</a>
    bin für jeden tipp dankbar!
    und natürlich auch für verbesserungsvorschläge am system

    €dit: ach ja, hier läufts:
    http://www.crazychaos.de/ses/login.php
    (das ses in der addi deswegen weil ichs erst mit sessions machen wollte --> müll --> umständlich --> idee übern haufen geworfen )
    Zuletzt geändert von CrazyChaos; 26.12.2002, 19:10.
    diese signatur ist nichtssagend...

  • #2
    ich würde dir eine variante mit SESSIONS empfehlen. hier kannst du auch hervorragend eine kleine login machen. und funktioniert super.

    allerdings kannst du die sessions vergessen, wenn der user bei rückkehr auf deine seite nach einiger zeit OHNE PW sich einloggen darf.

    letzteres wäre der nachteil von SESSIONs.
    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
      Re: kleines timing-prob mit cookies...

      Original geschrieben von CrazyChaos
      (das ses in der addi deswegen weil ichs erst mit sessions machen wollte --> müll --> umständlich --> idee übern haufen geworfen )
      wie gesagt, sessions will ich net!
      hab schon damit rumprobiert, ich halts für bullshit...

      meine frage war aber eigentlich wengen den cookies
      diese signatur ist nichtssagend...

      Kommentar


      • #4
        Um bösen Kommentaren vorzubeugen, habs nicht ganz gelesen.

        Warum möchtest du keine Sessions? Das ist eigentlich wesentlich besser als Cookies.

        Kommentar


        • #5
          dass du keine sessions haben wolltest habe ich wohl überlesen...

          aber ich kann sie dennoch empfehlen. ich habe sie eingesetzt, da das mit den cookies mir viel zu umständlich war... )

          das schöne ist, dass du das cookie nicht jedesmal auslesen musst. alle vars werden einfach in das neue script übernommen.
          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


          • #6
            Ich fand Cookies schon immer schlecht. Ich hab sie noch nie richtig eingesetzt.

            Außer dass Sessions leichter zu Handeln sind, hat man den großen Vorteil, dass Sie eigentlich überall einsetzen kann. Im gegensatz zu Cookies, die schnell deaktiviert werden.

            Kommentar


            • #7
              also ich find cookies einfacher, da könnt ihr sagen was ihr wollt
              is wohl geschmackssache, aber ich find halt, ich setz nen cookie, und dann is der da. und immer abrufbereit.
              das mit sessions hat bei strato einfach net so hingehaun, einmal war se da, einmal nicht, bei nem früheren versuch hats gar net geklappt ohne dass ich n verzeichnis angegeben hab uswusf.
              ich wollts ja eigentlich so machen, dass der user auswählen kann ob er sessions oder cookies nimmt, aber wie gesagt...
              außerdem wär das mit dem auswählen noch umständlicher geworden. habs versucht...

              außerdem: wenn der user den browser beendet isser mit sessions raus. mit cookies bleibter drin, wie hier im forum! das is für mich der große vorteil, ich will mich ja schließlich net ständig anmelden!

              naja, für eine lösong meines eigentlichen probs wär ich immernoch dankbar
              diese signatur ist nichtssagend...

              Kommentar


              • #8
                Re: kleines timing-prob mit cookies...

                tolle art der authentifizierung :-)

                dann brauche ich also nur in meinem cookie den string "anonym" durch einen existierenden benutzernamen ersetzen, und schon bin ich als dieser 'eingeloggt'...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Original geschrieben von CrazyChaos
                  naja, für eine lösong meines eigentlichen probs wär ich immernoch dankbar
                  ok. ich verstehe dich. wie du schon geschrieben hattest, ist es wohl geschmacksache.
                  aber leider kann ich dir jetzt bei der variante cookies nicht helfen. sorry.

                  wenn du das mit cookies machst, lege wenigsten noch einen md5-code dahinter, damit das nicht passieren kann, was wahsaga schon angedeutet hat.
                  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


                  • #10
                    denkst du wirklich dass ich das script so einsetze wie da oben? das war doch nurn versuch!
                    nene, hab das script inzwischen auch schon umgebaut, und zwar wird in einem zweiten cookie eine automatisch generierte id gespeichert, und der username wird mit dieser id auch in meiner sql-datenbank gespeichert und bei jedem seitenaufruf mit den cookies verglichen.
                    außerdem hab ichs so geändert dass diese verzögerung bei den cookies auch keine rolle mehr spielt.. *duck*

                    edit: die md5-sache hört sich auch interessant an, is das sicherer als so wie ichs jetzt gemacht hab?
                    kann man was, was auf diese methode vershlüsselt worden is auch wieder entschlüsseln?
                    Zuletzt geändert von CrazyChaos; 27.12.2002, 12:53.
                    diese signatur ist nichtssagend...

                    Kommentar


                    • #11
                      Dito!

                      Sessions kenne ich auch in und auswendig. Aber Cookies habe ich wie gesagt noch nie richtig genutzt.

                      Für Sessions hätten wir hier ein super Tutorial. Für Cookies leider nicht (hat wahrscheinlich auch seinen Grund).

                      Vor-/Nachteile in der Übersicht ...
                      Code:
                      1 = Sessions/Serverseitig
                      2 = Cookies/Clientseitig
                      
                      1 | 2 | Thema
                      
                      + | - | nicht zu manipulation
                      + | - | Auf allen Systemen nutzbar
                      - | + | Autologin
                      [EDIT]
                      Die sache mit der autom. generierten ID kannst du dir bei Sessions auch sparen.

                      Kommentar


                      • #12
                        manmanman, ich glaub ich schreib zu langsam...

                        ich hab mir beide tuts des öfteren durchgelesen, ham mir aber net viel geholfen, strato is da einfach immer a bissl eigenwillig

                        zu den vor/nachteilen:
                        nicht zu manipulieren: ich bin keine bank, es muss net bombensicher sein
                        auf allen systemen nutzbar: cookies laufen auf allen gängigen browsern, zumindest wenn man sie einschaltet, was ich einfach voraussetz. und auf browsern wie lynx o.ä. läuft meine seite eh net...
                        autologin: das is der entscheidende punkt
                        diese signatur ist nichtssagend...

                        Kommentar


                        • #13
                          lynx kann auch mit cookies umgehen... zumindest mit session-cookies wie bei mir.....
                          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


                          • #14
                            Für Sessions hätten wir hier ein super Tutorial. Für Cookies leider nicht (hat wahrscheinlich auch seinen Grund).
                            na ja, was soll man zum thema cookies auch gross erklären wollen...?

                            der einzige zweck, den die dinger haben, ist darin irgendwelche werte abzulegen; man kann sie setzen, löschen und auslesen, und anschliessend die daten zu irgendwas benutzen.

                            wozu sollte man dafür ein tut schreiben, wäre doch der totale overkill *g*
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              Wird mit md5 das ganze sicherer als ich es bisher gemacht habe und kann man md5() wieder entschlüsseln?
                              Also zunächst einmal wie bereits angedeutet wird mithilfe md5() dein ganzes Cookiegewurstel deutlich sicherer als bisher, dies liegt zum einen an dem Hash-Algorythmus welcher md5() durchführt. Nachteil ist aber das man den Hash-Algorythmus nicht mehr rückgängig machen kann was aber auch nicht unbedingt notwenig ist wie dir diese mikrobeispiel zeigt:

                              PHP-Code:

                              <?
                              $decrypt = "Payne lebt";
                              $encrypt = md5($decrypt);

                              If ( $encrypt == md5($decrypt)) {
                              echo " Du hast das Codewort geknackt!";
                              }
                              else { echo"Hacken will gelernt sein"; }

                              ?>
                              Du siehst man kann was damit anfangen
                              [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

                              Lädt...
                              X