Re: Cookies nochmal... aber ;-) - zu früh gefreut :-( - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Oliver ;-) (439 Beiträge) am Samstag, 8.Dezember.2001, 17:31.
    Re: Cookies nochmal... aber ;-) - zu früh gefreut :-(

      Also, die Cookies werden innerhalb eines (Login)Templates gesetzt bzw. gelöscht, welches in jeder meiner Seiten per include eingefügt wird.

      Wenn sich jemand auf der Homeseite einloggt und wieder dort ausloggt, funktioniert es korrekt. Wenn er sich aber z.B. im Forum ausloggt, wird das Cookie nicht gelöscht bzw. auf 0 gesetzt.

      In Auszügen der Code:

      if($cmd eq "logout")  ## Erneut Login-Maske falls Log Out erfolgt
      {
            ### Cookies wieder loeschen ###
            set_cookies "Name=", "SessionId=","path=";
            ### Ende Cookies loeschen ###
      
      ....
      }elsif ($cmd eq "login")
      {
      if($namerein ne "" && pwrein ne "" && $sid eq "")
             {
                get "Nickname==!$namerein","../register";
                 if($nutzer_passwort ne "" && $nutzer_passwort eq $pwrein && $Nickname eq $namerein)
                          {
      
      ....
                             
                             ### Cookies setzen ###
                             set_cookies "Name=$namerein", "SessionId=$sid_aktuell", "path=/";
                             ### Ende Cookies setzen ###
                             
      
      ...

                          }else
                          {
      

      ...
                            }
                             $namerein="";
                             $login_name="";
                          }
             }
      }
      if($namerein ne "" && $sid ne "")
      {
      out "<!-- test, ob aktuelle session-id noch gültig ist -->";
              $sidCook=$_cookie{SessionId};
              get "Nickname==$namerein", "../register";
              $sid_max = 10+(1*$nutzer_sid);
              if($sid eq $nutzer_sid || $sid eq $sidCook && $sid_aktuell <= $sid_max)
              {
                         out "<!-- session-id ist gültig - session-id wird aktualisiert -->";
                         mod "Nickname==$namerein Id==#", ["nutzer_sid", $sid_aktuell], "../register";
                         $sid=$sid_aktuell;
      
                         ### Cookies setzen ###
                         set_cookies "Name=$namerein", "SessionId=$sid_aktuell", "path=/";
                         ### Ende Cookies setzen ###
      

      ...
           
      out <<EOF;
      ... Logout-Formular
      EOF
      
           }else ## Session-Id abgelaufen - wieder LogIn-Maske      {                     $msg="Session-Id abgelaufen!!!";
      ...
                         ### Cookies wieder loeschen ###
                         set_cookies "Name=", "SessionId=","path=";
                         ### Ende Cookies loeschen ###
                   
      ...
          }
      }
      if($namerein eq "")  ## Login-Maske falls nicht angemeldet
      {
      &form;
      }
      

      sub form
      {
      out <<EOF;
      
      ... Login-Formular
      EOF
      }
      

      Grüße
      Oliver ;-)


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Oliver ;-) (439 Beiträge) am Donnerstag, 6.Dezember.2001, 16:06.
    Cookies nochmal...

      Hallo,

      also, ich habe nun gelernt, dass Cookies vom IE und NN unterschiedlich gespeichert werden.

      IE speichert jedes Cookie einzeln, während NN alle Cookies in_einer_Textdatei speichert.

      Mein Problem, wie hier beschrieben: http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/baseportal/forum&wcheck=1&Pos=4069.106 ist, dass man sich von jeder Seite meiner Community einloggen kann.

      Das Wiederfinden des Cookies hängt aber davon ab, von welcher Seite man darauf zugreift. Ein Beispiel:

      Ein Login von meiner Homeseite setzt den/das Cookie und der Logout von der gleichen Seite löscht ihn wieder.
      Aber bei einem Login von meiner Homeseite und ein Logout von einer anderen Seite lässt ihn stehen.

      Da schließt sich jetzt meine Frage an:

      Ist es möglich, festzustellen, ob überhaupt bereits ein Cookie von irgendeiner Seite meiner HP gesetzt wurde?

      Oliver ;-)

     Antworten

    Beitrag von Stefan Krupop (311 Beiträge) am Donnerstag, 6.Dezember.2001, 16:20.
    Re: Cookies nochmal...

      Für Cookies gibt es auch noch den Parameter "PATH=" mit dem man quasi den "Gültigkeitsbereich" des Cookies angeben kann. Wäre ein Fall für CB den mit in set_cookie einzubauen...

      So dürfte das Feststellen nicht möglich sein, da der Browser den Cookie nur schickt, wenn die Seite im "PATH" liegt (Standard für PATH ist die Aktuelle Seite).

      Stefan

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 6.Dezember.2001, 20:09.
    Re: Cookies nochmal...

      Mir war so, als dass ein Cookie (bei ungesetztem PATH-Parameter), an den _Server_ zurückgeschickt wird, der's geschickt hat. Die aufrufende Seite müsste demnach egal sein... Aber schau ich mir mal genauer an, vielleicht isses auch anders ;-)

      Ansonsten: Ihr könnt dem Cookie beliebige Parameter mitgeben: Einfach hintendran stellen, wie beim expires auch:

      set_cookies "Name=Wert; path=/";

      sollte definitiv für alle Seiten klappen...

      Nochwas: Klappt das nun mit dem unendlichen Speichern von Cookies auch _ohne_ explizites_ Setzen von "expires"? (So sollte es sein)

     Antworten

    Beitrag von Oliver ;-) (439 Beiträge) am Donnerstag, 6.Dezember.2001, 22:08.
    Re: Cookies nochmal...

      Wäre schön, wenn du das mit dem PATH noch hinbekommen könntest... ;-)

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 6.Dezember.2001, 23:34.
    Re: Cookies nochmal...

      Äh, hab ich doch schon geschrieben:

      set_cookies "Name=Wert; path=/";

     Antworten

    Beitrag von Oliver ;-) (439 Beiträge) am Freitag, 7.Dezember.2001, 09:30.
    Re: Cookies nochmal...

      Guten Morgen,

      mit "path" komme ich leider auch nicht weiter. Damit produzier ich doch im Netscape lediglich eine neue Zeile bzw. im IE einen weiteren Eintrag im Cookie. Das hilft mir aber auch nicht, ihn wiederzufinden.

      Oliver ;-)

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Samstag, 8.Dezember.2001, 14:29.
    Re: Cookies nochmal... aber ;-)

      ...ich kann auch nich mehr sagen, als in der offiziellen Spezifikation steht:

      http://home.netscape.com/newsref/std/cookie_spec.html

      Syntax of the Set-Cookie HTTP Response Header

      This is the format a CGI script would use to add to the HTTP headers a new piece of data which is to be stored by the client for later retrieval.

      Set-Cookie: NAME=VALUE; expires=DATE;
      path=PATH; domain=DOMAIN_NAME; secure

      ...

      path=PATH
           The path attribute is used to specify the subset of URLs in a domain for which the cookie is valid. If a cookie has already passed domain
           matching, then the pathname component of the URL is compared with the path attribute, and if there is a match, the cookie is considered valid and
           is sent along with the URL request. The path "/foo" would match "/foobar" and "/foo/bar.html". The path "/" is the most general path. 
      

           If the path is not specified, it as assumed to be the same path as the document being described by the header which contains the cookie.

     Antworten

    Beitrag von Oliver ;-) (439 Beiträge) am Samstag, 8.Dezember.2001, 15:33.
    Re: Cookies nochmal... aber ;-) - zu früh gefreut :-(

      Schade, dann funktioniert das wohl bei mir nicht...

      Oliver ;-)

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Samstag, 8.Dezember.2001, 16:45.
    Re: Cookies nochmal... aber ;-) - zu früh gefreut :-(

      muss aber... wenn da steht "path=/" ist der Hauptpfad und deckt somit alle anderen Seiten ab, dann _muss_ das funktionieren... Versuch mal auch das mit dem Setzen der Domain... Kommste mit der Spezifikation klar? Wie lautet denn die set_cookie anweisung bei dir? schreib mal den code hier rein...

     Antworten

    Beitrag von Oliver ;-) (439 Beiträge) am Samstag, 8.Dezember.2001, 17:31.
    Re: Cookies nochmal... aber ;-) - zu früh gefreut :-(

      Also, die Cookies werden innerhalb eines (Login)Templates gesetzt bzw. gelöscht, welches in jeder meiner Seiten per include eingefügt wird.

      Wenn sich jemand auf der Homeseite einloggt und wieder dort ausloggt, funktioniert es korrekt. Wenn er sich aber z.B. im Forum ausloggt, wird das Cookie nicht gelöscht bzw. auf 0 gesetzt.

      In Auszügen der Code:

      if($cmd eq "logout")  ## Erneut Login-Maske falls Log Out erfolgt
      {
            ### Cookies wieder loeschen ###
            set_cookies "Name=", "SessionId=","path=";
            ### Ende Cookies loeschen ###
      
      ....
      }elsif ($cmd eq "login")
      {
      if($namerein ne "" && pwrein ne "" && $sid eq "")
             {
                get "Nickname==!$namerein","../register";
                 if($nutzer_passwort ne "" && $nutzer_passwort eq $pwrein && $Nickname eq $namerein)
                          {
      
      ....
                             
                             ### Cookies setzen ###
                             set_cookies "Name=$namerein", "SessionId=$sid_aktuell", "path=/";
                             ### Ende Cookies setzen ###
                             
      
      ...

                          }else
                          {
      

      ...
                            }
                             $namerein="";
                             $login_name="";
                          }
             }
      }
      if($namerein ne "" && $sid ne "")
      {
      out "<!-- test, ob aktuelle session-id noch gültig ist -->";
              $sidCook=$_cookie{SessionId};
              get "Nickname==$namerein", "../register";
              $sid_max = 10+(1*$nutzer_sid);
              if($sid eq $nutzer_sid || $sid eq $sidCook && $sid_aktuell <= $sid_max)
              {
                         out "<!-- session-id ist gültig - session-id wird aktualisiert -->";
                         mod "Nickname==$namerein Id==#", ["nutzer_sid", $sid_aktuell], "../register";
                         $sid=$sid_aktuell;
      
                         ### Cookies setzen ###
                         set_cookies "Name=$namerein", "SessionId=$sid_aktuell", "path=/";
                         ### Ende Cookies setzen ###
      

      ...
           
      out <<EOF;
      ... Logout-Formular
      EOF
      
           }else ## Session-Id abgelaufen - wieder LogIn-Maske      {                     $msg="Session-Id abgelaufen!!!";
      ...
                         ### Cookies wieder loeschen ###
                         set_cookies "Name=", "SessionId=","path=";
                         ### Ende Cookies loeschen ###
                   
      ...
          }
      }
      if($namerein eq "")  ## Login-Maske falls nicht angemeldet
      {
      &form;
      }
      

      sub form
      {
      out <<EOF;
      
      ... Login-Formular
      EOF
      }
      

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Samstag, 8.Dezember.2001, 18:50.
    Re: Cookies nochmal... aber ;-) - zu früh gefreut :-(

      Na, da haben wir den Fehler doch schon ;-)

      Du musst das "path=/" an jedes Cookie mit dran hängen:

      set_cookies "Name=$namerein; path=/", "SessionId=$session_aktuell; path=/";

      klar? beim löschen bin ich mir nich ganz sicher, müsste aber entsprechend gehen:

      set_cookies "Name=; path=/", "SessionId=; path=/";

     Antworten

    Beitrag von Oliver ;-) (439 Beiträge) am Samstag, 8.Dezember.2001, 19:27.
    Re: Cookies nochmal... aber ;-) - doch nicht zu früh gefreut :-))

      Super...

      es funktioniert jetzt :-)))

      Jetzt muss ich mir nur noch überlegen, wie ich denn nun die im Cookie gespeicherte SessionId in den Templates ordentlich verarbeite...

      Grüße
      Oliver ;-)

     Antworten


     
 Liste der Einträge von 53401 bis 53551:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.10s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!