Andrushka: Wertübergabe an CGI aus shtml Aufruf

Beitrag lesen

Und hat Dein Verzeichnis explizit CGI-Berechtigung? Ruf mal Dein CGI-Skript direkt über die URL-Zeile des Browsers auf - das muß ja ebenfalls gehen, wenn Du CGI darfst. Die SSI-EXEC-Einbindung ist ja nur ein Schmacko mehr.

wenn ich's über die url-Zeile aufrufe, bekomme ich nur den perl-Quelltext ausgegeben. Sieht so aus, als würde ich mit SSI eine Sicherheitlücke ausnutzen, so daß ich das script aufrufen kann, obwohl es nicht in einem cgi-Verzeichnis liegt.

So ist es... noch ein paar kleine Hinweise:

  • bei Unix-Rechnern Execute-Rechte für das Script setzen!

hab ich doch.

  • Document-type nicht vergessen! Bei exec cmd wird kein http-Header benötigt (im Gegenteil, er würde ausgegeben...), bei exec cgi sehr wohl...

hab ich auch.

Also rekapitulierend: ich kann mein cgi aufrufen, obwohl das Verzeichnis kein cgi-Verzeichnis ist, aber NUR als SSI Einbindung in einer shtml Datei. Die Ausgabe ist html mit Header (klar).
Aus exec cgi=... kann ich NICHT mit &name=param&name2=param2 Parameter übergeben, weil ich dann eine Fehlermeldung bekomme. Das genau gleiche script läuft aber ohne Parameter.
Parameter&uumlbergabe per setzen von QUERY_STRING funktioniert nicht weil der beim Aufruf des Scripts geleert wird.
#include virtual=... gibt nur den Quelltext des cgi's aus, Stefan.

ABER (tattaaa...) Lösung:
Ich kann einfach eine Umgebungsvariable setzen, die NICHT Standard ist:
<!--#set var="MYOWN_STRING" value="name=andreas&beruf=student"-->
und dann mein script aufrufen
<!--#exec cgi="myscript.cgi"-->
in dem MYOWN_STRING abgefragt wird. Er ist nicht durch den Aufruf des cgi überschrieben worden.
Das funktioniert und, nochmal zur Erinnerung, es funktioniert in JEDEM Verzeichnis, es mu&szlig: nicht als cgi-Verzeichnis angemeldet sein.

Vielen Dank für Eure Mühen!

Euer
Andreas