next up previous contents
Next: Parameterübergabe über CGI-Umgebungsvariablen Up: Parameterübergabe an CGI-Skripten Previous: Verwendung der Zugriffsmethode POST:

Parameterübergabe auf der Kommandozeile

Werden die zu übergebenen Parameter, durch ein Fragezeichen separiert, an die URL der Client-Anfrage gehängt und an den Server geschickt, dekodiert dieser die in der URL auf das ,,¿`-Zeichen folgende Zeichenkette. Setzt sich die Zeichenkette aus mehreren Wörtern zusammen, wird sie in jeweils einzelne Worte aufgeteilt, bevor diese dem CGI-Skript auf der Kommandozeile übergeben werden. Die einzelen Worte stehen dann in den Variablen argv[i], wobei ,,i`` für die Anzahl der Worte steht.

Ein Beispiel hierfür ist die Verwendung des HTML-Elements <ISINDEX> im Dokumentenkopf. Dem Benutzer wird dadurch ermöglicht einen Suchbegriff in ein zur Verfügung gestelltes Textfeld einzugeben. Der eingegebene Suchbegriff wird vom Client, durch ein ,,¿`-Zeichen getrennt, an die URL gehängt.
Diese Art der Paramterübergabe ist aber nicht nur auf Dokumente beschränkt, die das HTML-Element <ISINDEX> verwenden. Der Benutzer kann eine entsprechende URL direkt am Client eingeben oder in einem Dokument als Hyperlink einbetten.

Zusätzlich zur Kommandozeile erscheinen die zu übergebenen Parameter als kodierte Zeichenkette in der Umgebungsvariablen QUERY_STRING. Das ganze soll nun an einem Beispiel verdeutlicht werden. Sei die URL der Client- Anfrage gegeben durch

http://Servername/cgi-bin/cgi?Parameter+f%FCr+CGI-Skript
werden folgende Variablen belegt:

Die Parameterübergabe auf der Kommandozeile ist mit Vorsicht zu genießen. Der Server stellt zwar die Parameter einzeln und in dekodierter Form dem Skript zur Verfügung, doch kann es manchmal vorkommen, daß der Server die Kommandozeile leer läßt, wenn Beschränkungen im Betriebssystem die Übergabe sehr langer Zeichenketten auf der Kommandozeile verhindern. Die Übergabe der Parameter erfolgt dann ausschließlich in der Umgebungsvariablen QUERY_STRING. Ein CGI-Skript, das neben der Kommandozeile auch diese Umgebungsvariable auswertet, ist somit immer auf der sicheren Seite.


next up previous contents
Next: Parameterübergabe über CGI-Umgebungsvariablen Up: Parameterübergabe an CGI-Skripten Previous: Verwendung der Zugriffsmethode POST:
Root on HPHEGER0
8/27/1998