set-cookie
JO
- cgi
0 Cheatah0 JO0 Sönke Tesch0 Cheatah
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
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
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
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
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
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
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
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
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);
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 :-)
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