Netzwolfs CGI-Skript-Seite

Springe zu: Seitenhierarchie, Untermenü.

Die technische Entwicklung macht nicht halt. Diese Seite ist inzwischen völlig veraltet und existiert nur noch der Nostalgie wegen.

Web-Formulare und CGI

Für Eilige: die Beispiele finden Sie weiter unten.

Am Anfang bestand das Netz aus statischen Dokumenten, die mit eindeutigen Namen (URL) versehen und über Links miteinander verbunden wurden. Der Leser konnte zwar wählen, welche Seite er als nächstes besuchen wollte, eine echte Interaktion kam aber nicht zustande.

Interaktion bedeutet hier, dass Inhalt und Aussehen eines Dokumentes vom Leser beeinflußt werden. Dazu wurden Html-Formulare geschaffen: <form>, <input>, <select>, <option>. Jedes Element des Formulars bekommt einen Namen. Außerdem ist im Formular ist die URL einer Bearbeitungsseite vermerkt.

Der Leser füllt das Formular aus und schickt es ab. An die URL der Bearbeitungsseite wird, durch ein"?" getrennt, eine Query angehängt: diese enthält Feldnamen und Feldinhalt für die Felder des Formulares.

Hinter der Bearbeitungsseite kann sich auf dem Web-Server ein CGI-Skript[¹] verstecken. Der Web-Server ruft das CGI-Skript auf und übergibt ihm die Query:
Das CGI-Skript wertet die Query aus und erzeugt dynamisch eine HTML-Seite. Diese wird als Antwort auf das Formular vom Browser dargestellt.

CGI-Seiten müssen nicht unbedingt aus einem Formular aufgerufen werden. Die Query kann auch an einen normalen Hyperlink angehängt werden:

<a href="url?feld1=wert1&amp;feld2=wert2">...</a>

Achtung: in den Tags der Parameter werden die sogenannten Entities ausgewertet: an Stelle eines & müssen Sie unbedingt &amp; schreiben.

CGIs können statt eines HTML-Textes andere Dokumente liefern. Z.B. liefert http://www.netzwolf.info/c/xearth.cgi ein GIF-Bild. Das CGI nutzt die aktuelle Uhrzeit zur Erzeugung des Bildes.

Sie können dem Skript auch einen Paramter übergeben: hängen Sie in der Browserzeile an das xearth.cgi einfach ein ?k oder ?r an. Das xearth.cgi Skript wird auf meiner Seite Wo in der Welt liegt Köln Seite genutzt.

CGI steht für "Common Gateway Interface": darüber wird die Kommunikation zwischen Web-Server und Skript festgelegt. Die CGIs können in jeder beliebigen Sprache geschrieben werden. Ich zeige hier Unix-Systemkommandos, Perl-Skripte und C/C++ Programme.

Dynamische HTML-Seiten

Viele Web-Server bieten die Funktion Server Side Include: in statische HTML-Seiten können bereits auf dem Server dynamisch generierte Elemente eingefügt werden. Dazu wird in die Seite ein spezielles "Include"-Element eingefügt.

Das Include-Element selbst wird aus dem Dokument entfernt. Dadurch bleibt der Ablauf für den Leser unsichtbar. In meinen Dokumenten benutze ich die Befehle:

Die Ausgabe des aufgerufenen Programmes wird an der Aufrufstelle in das Dokument eingefügt. Da der Aufrufbefehl entfernt wird, nützt ein Blick in den HTML-Quelltext nicht. Deshalb habe ich den Quelltext zu den Beispielen getrennt bereitgestellt.

Beispiele

Bei einigen Beispielen fehlt das Skript - aus verschiedenen Gründen. Der häufigste: das Skript sieht so gruselig aus, dass ich es niemandem antun möchte.

Irgendwann werd' ich es mal putzen und dann freigeben.
Irgendwann.

Server side include eines Unix-Kommandos

Einfache Datenabfage (Perl)

Abfrage mit Seiteneffekt (Perl)

Dynamisch generierte Bilder

Sinnvolle Anwendungen :-)

Online Dekompressionsrechner

Beim Aufenthalt unter Überdruck löst sich im menschlichen Körper Stickstoff. Er wird wieder abgegeben, sobald der Druck abnimmt. Wenn aber der Druck zu schnell abnimmt, kann der Stickstoff im Körper in kleinen Blasen ausperlen. Das - die sogenannte Dekompressionskrankheit - kann tödlich sein.

Der Dekompressionsrechner simuliert die Sättigungs- und Entsättigungsvorgänge. Er wird benutzt, um Tauchgänge zu planen. Den Online-Deko-Rechner finden Sie unter: http://www.netzwolf.info/tauchen/dico/

Sie können auch das CGI-Skript anschauen. Es kümmert sich allerdings nur um den Dialog mit dem Benutzer. Die Sättingungsrechnung selbst ist in C++ programmiert.

Sicherheit

Ein CGI-Skript ist letztendlich ein Programm, das auf dem Webserver installiert ist, und vom Leser gestartet wird. Zudem wird es vom Leser mit Parametern versorgt. Deshalb besteht immer die Gefahr, dass das Skript Programmierfehler enthält und ein bösartiger Leser diese Fehler ausnutzt, um auf dem Webserver Unheil anzurichten.

Deshalb ist oft die Möglichkeit eingeschränkt, CGIs einzurichten.

Weiter zu: Javascript

¹) Buchempfehlung: CGI Programming - on the World Wide Web


tweet this share on facebook   © 1995-2017 – zuletzt geändert am 25.09.2006
Verbraucherinformation: enthält XHTML1.0, CSS und eine Anbieterkennzeichnung.

Navigation