Grosses Problem mit Perl / Cookies / SSI
Jonas
- perl
Hallo
Also, ich stehe kurz vor der Verzweiflung! :(
Ich setze mit einem Perl-Script welches sich im cgi-bin Verzeichniss befindet ein Cookie. Der Pfad des cookies habe ich dabei auf '/' gesetzt, die domain auf '.meinedomain.ch'.
Nun klappt dies auch wunderbar, wenn ich das script über http://meinedomain.ch/cgi-bin/script.cgi aufrufe. Dann wird das cookie gesetzt und kann auch wiederum ohne Porbleme ausgelesen werden.
Rufe ich dieses Script nun aber in der Datei http://meinedomain.ch/script.shtml auf, in welcher nur das Script über den Befehl: <!--#exec cgi="/cgi-bin/main.cgi" --> ausgeführt wird, setzt mir Perl weder das cookie, noch kann es ausgelesen werden (klar, ist ja auch nicht vorhanden).
Ist dies ein Problem meiner Pfadangabe für das cookie oder klappt die Sache einfach grundsätzlich nicht, wenn ich das Script über die .shtml Datei ausführe?
Ich danke für hilfreiche Hilfestellungen (super wortwahl...)
Grüsse
Jonas
Hi,
Rufe ich dieses Script nun aber in der Datei http://meinedomain.ch/script.shtml auf, in welcher nur das Script über den Befehl: <!--#exec cgi="/cgi-bin/main.cgi" --> ausgeführt wird, setzt mir Perl weder das cookie, noch kann es ausgelesen werden (klar, ist ja auch nicht vorhanden).
SSI verwendet zwar die CGI-Schnittstelle, erfordert also das Setzen von HTTP-Headern. Die HTTP-Header des Dokuments sind aber längst beendet und können daher nicht mehr erweitert werden. Ergo ist auch das Setzen eines Cookies nicht mehr möglich.
Cheatah
Das heisst, es gibt keine Möglichkeit, mit einem aus einer .shtml-Datei aufgerufenen cgi-scripts cookies zu setzen?
Hi,
Rufe ich dieses Script nun aber in der Datei http://meinedomain.ch/script.shtml auf, in welcher nur das Script über den Befehl: <!--#exec cgi="/cgi-bin/main.cgi" --> ausgeführt wird, setzt mir Perl weder das cookie, noch kann es ausgelesen werden (klar, ist ja auch nicht vorhanden).
SSI verwendet zwar die CGI-Schnittstelle, erfordert also das Setzen von HTTP-Headern. Die HTTP-Header des Dokuments sind aber längst beendet und können daher nicht mehr erweitert werden. Ergo ist auch das Setzen eines Cookies nicht mehr möglich.
Cheatah
Hi,
Das heisst, es gibt keine Möglichkeit, mit einem aus einer .shtml-Datei aufgerufenen cgi-scripts cookies zu setzen?
meinst Du theoretisch oder praktisch? Falls letzteres: nein.
Hi,
http://learn.to/quote, danke.
Cheatah
Hi,
Rufe ich dieses Script nun aber in der Datei http://meinedomain.ch/script.shtml auf, in welcher nur das Script über den Befehl: <!--#exec cgi="/cgi-bin/main.cgi" --> ausgeführt wird, setzt mir Perl weder das cookie, noch kann es ausgelesen werden (klar, ist ja auch nicht vorhanden).
SSI verwendet zwar die CGI-Schnittstelle, erfordert also das Setzen von HTTP-Headern. Die HTTP-Header des Dokuments sind aber längst beendet und können daher nicht mehr erweitert werden. Ergo ist auch das Setzen eines Cookies nicht mehr möglich.
Ist in dem Fall nicht sowieso der Apache der Client bzgl. des main.cgi?
Der Request für das main.cgi kommt ja nicht vom externen Client (also Browser/Suchmaschinenrobot/...), sondern vom SSI-Interpreter.
cu,
Andreas