Cookies und IIS
Hellmut Alde
- cgi
Hallo allerseits.
Habe folgendes Problem:
Wenn ich unter IIS einen Cookie setze, wird im Cookie der komplette Name des Scriptes, das den Cookie setzt, eingetragen,
also z.B.:
"localhost/cgi-bin/cookieset.pl"
Danach ist das Cookie nur noch von eben diesem Script aus erreichbar
(per fetch CGI::Cookie)
Unter Apache, Sambar, Xitami und auch unter dem Personal-Webserver sieht der Eintrag wie folgt aus:
"localhost/cgi-bin/".
Das ist auch völlig korrekt, denn nun ist das Cookie von allen Scripten erreichbar, die sich in localhost/cgi-bin/ befinden.
Da ich zum Testen auf den IIS angewiesen bin, frage ich mal in die Runde, ob jemand eine Lösung für dieses Phänomen kennt.
CIAO Hellmut
Hallo,
Wenn ich unter IIS einen Cookie setze, wird im Cookie der komplette Name des Scriptes, das den Cookie setzt, eingetragen,
Wie setzt Du das Cookie? Welcher IIS? In welcher Script-Sprache
Mit dem CGI-Modul und Perl würde es irgendwie so aussehen:
(Aus der Doku con CGI.pm)
$cookie = $query->cookie(-name=>'sessionID',
-value=>'xyzzy',
-expires=>'+1h',
-path=>'/cgi-bin/database',
-domain=>'.capricorn.org',
-secure=>1);
print $query->header(-cookie=>$cookie);
'path' gibt an für welchen Pfad am Server das Cookie gilt.
Wenn Du
-path=>'/',
setzt, dann für den ganzen Server,
wenn Du aber
-path=>'/cgi-bin',
setzt, dann halt nur cgi-bin.
Es kann jetzt natürlich sein, daß die Server bzw. CGI.pm das irgendwie selbständig ergänzen, falls Du keinen Pfad angegeben hast. Deshalb ist es schlau, immer einen Pfad anzugeben.
Aber das und die Erklärungen aller anderen Parameter stehen ja ohnehin in der Doku ;-)
Grüße
Klaus
Hallo,
vielen Dank für den Tip es funktioniert,
ich verwende Perl 5.6.0 in meinem Script und setze das Cookie, wie Du es beschrieben hast, mittels CGI.pm.
Mit dem IIS meine ich den IIS 4.
CIAO Hellmut