JO: set-cookie

Hallo,

ich sende mit Perl folgenden Http-Header an den Browser:

print "Content-type: text/html\n";
print "Set-Cookie: $cookie_name=$cookie_value; path=/; expires=Mon, 26-Sep-2050 12:00:00 GMT;\n";
print "\n";
print $html;

Der Cookie wird vom Explorer auch in einer neuen Browser-Session wieder erkannt, aber leider nicht vom Netscape-Navigator. Weiss jemand was ich da übersehe?

Gruss

JO

  1. Hi,

    print "Set-Cookie: $cookie_name=$cookie_value; path=/; expires=Mon, 26-Sep-2050 12:00:00 GMT;\n";

    Der Cookie wird vom Explorer auch in einer neuen Browser-Session wieder erkannt, aber leider nicht vom Netscape-Navigator. Weiss jemand was ich da übersehe?

    hast Du es mal mit einem etwas realistischeren Datum versucht?

    Cheatah

    --
    X-Will-Answer-Email: No
    1. hast Du es mal mit einem etwas realistischeren Datum versucht?

      Hi Cheatah,

      ja danke, Du hast Recht. Wenn ich das Datum auf das Jahr 2010 setze dann gehts. Trotzdem finde ich dass es mit 2050 auch funktionieren sollte. Im IE gehts ja auch.

      Gruss

      JO

      1. ja danke, Du hast Recht. Wenn ich das Datum auf das Jahr 2010 setze dann gehts. Trotzdem finde ich dass es mit 2050 auch funktionieren sollte. Im IE gehts ja auch.

        Jaja, was man mit dem IE so alles für einen sinnlosen Scheiss anstellen kann..

        SCNR ;)
          soenk.e

      2. Hi,

        Trotzdem finde ich dass es mit 2050 auch funktionieren sollte.

        Du hast ja Recht damit, dass sich Netscape 4 weitaus länger auf dem Markt gehalten hat, als jeder andere Browser bisher - trotzdem denke ich, dass 47 Jahre ein _bisschen_ zu optimistisch sind ;-)

        Im IE gehts ja auch.

        Das war noch nie ein Argument dafür, dass etwas richtig ist.

        Cheatah

        --
        X-Will-Answer-Email: No
        1. Moin Moin !

          Trotzdem finde ich dass es mit 2050 auch funktionieren sollte.

          Du hast ja Recht damit, dass sich Netscape 4 weitaus länger auf dem Markt gehalten hat, als jeder andere Browser bisher - trotzdem denke ich, dass 47 Jahre ein _bisschen_ zu optimistisch sind ;-)

          ... und ich denke, daß der Netscape 4 das Datum intern in C-Time umrechnet und dafür einen 32-Bit-Signed-Integer benutzt. Dann ist nämlich irgendwann im Jahr 2038 Schluß, es gibt einen Überlauf, und der Netscape meint, der Cookie läuft irgendwann in der Steinzeit der Computerei (irgendwann *vor* der Epoche Mitternacht Neujahr 1970 GMT) ab. Dann speichert er den Cookie auch nicht. Details zum Überlauf der C-Time sollte Google reichlich ausspucken.

          Ich möchte fast wetten, daß der NN4 bis 2037 mitspielt und ab 2039 zickt.

          Übrigens finde ich es wesentlich leichter, Cookies mit dem CGI-Modul zu setzen, statt von Hand zu schreiben. perldoc CGI

          Im IE gehts ja auch.

          Das war noch nie ein Argument dafür, dass etwas richtig ist.

          Stimmt. Aber ausnahmsweise macht es der IE wohl mal besser.

          Alexander

          --
          Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
          1. Hi,

            Ich möchte fast wetten, daß der NN4 bis 2037 mitspielt und ab 2039 zickt.

            die Wette gewinnst Du.

            Übrigens finde ich es wesentlich leichter, Cookies mit dem CGI-Modul zu setzen, statt von Hand zu schreiben. perldoc CGI

            Ja, auf jeden Fall. Ich bin mir nur nicht sicher, ob CGI ein solches "Überdatum" zugelassen oder abgelehnt hätte.

            Im IE gehts ja auch.
            Das war noch nie ein Argument dafür, dass etwas richtig ist.
            Stimmt. Aber ausnahmsweise macht es der IE wohl mal besser.

            Der IE macht vieles besser. Genau das ist ja das Problem.

            Cheatah

            --
            X-Will-Answer-Email: No
            1. Moin Moin !

              Ja, auf jeden Fall. Ich bin mir nur nicht sicher, ob CGI ein solches "Überdatum" zugelassen oder abgelehnt hätte.

              Das kommt darauf an, auf welcher Plattform Perl und CGI.pm laufen. 64-Bittige sollten eigentlich keine Probleme machen (es sei denn, jemand hat beim Portieren der libc *sehr* fest geschlafen und die C-Time weiterhin mit einem signed int32 gebaut). Auf "durchdachten" 32-Bit-Plattformen müßte die C-Time eigentlich als int64 implementiert sein. In diesen beiden Fällen sollte Perl bis ans Ende der Lebensdauer unserer Sonne keine Probleme mehr mit Zeitangaben haben. (Außer daß noch keiner einen passenden Kalender für die Jahre nach 4000 gebaut hat.)

              Der Rest der Plattformen sollte Probleme machen, wenn Perl sie nicht abfängt.

              Man könnte natürlich auch mal in den Code vom CGI-Modul (und ggf. Perl) reinsehen. ;-)

              Alexander

              --
              Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
              1. use Mosche;

                (Außer daß noch keiner einen passenden Kalender für die Jahre nach 4000 gebaut hat.)

                Ändert sich der Kalender denn?

                use Tschoe qw(Matti);

                --
                  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
                1. Hi,

                  (Außer daß noch keiner einen passenden Kalender für die Jahre nach 4000 gebaut hat.)
                  Ändert sich der Kalender denn?

                  nein; aber dem, der die Kalender immer baut, ist da leider das Papier ausgegangen...

                  Cheatah, SCNR :-)

                  --
                  X-Will-Answer-Email: No
                2. Hi Matti Maekitalo,

                  (Außer daß noch keiner einen passenden Kalender für die Jahre nach 4000 gebaut hat.)

                  der derzeit gültige Gregorianische Kalender (mit der "4, 100, 400"-Regel für Schaltjahre) geht in etwa 5000 Jahren um einen Tag falsch.
                  Dies könnte man dadurch relativ gut kompensieren, daß man die genannte Reihe um "4000" als vierte Regel erweitert ... es gibt aber diesbezüglich keinen definierten Standard.

                  Viele Grüße
                        Michael

                  --
                  T'Pol: I apologize if I acted inappropriately.
                  V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.