CGI - Wichtiges und Nützliches
CGI-Scripte sind Programme, welche auf Ihrem Web-Server laufen. Manchmal beispielsweise verarbeiten diese Programme Formular-Eingaben und geben dann entsprechende Ergebnis-Informationen an den Browser zurück.
Wichtige Information für Programmierer: Die Server der JMC-Technologieberatung verwenden einen CGI-Wrapper. Dieses Programm sorgt dafür, daß CGI's nur in der Verzeichnisstruktur des Servers ablaufen, von dem aus es gestartet wurde. Damit wird sichergestellt, daß kein Benutzer ein schädliches Programm ausführen kann, welches auf andere Server zugreift oder das Betriebssystem manipuliert. Programmieren Sie Ihre CGI's so, daß sie die Verzeichnisstruktur Ihres virtuellen Webservers nicht verlassen. Müssen Sie auf Systemdienste wie Perl oder Sendmail zugreifen, verwenden Sie die folgenden Pfade:
Wohin mit den Script's? Sobald Sie ein solches CGI-Script programmiert haben, spielen Sie es mittels FTP (File Transfer Protocol) in ein beliebiges Verzeichnis Ihres WebServers. Dabei ist unbedingt zu beachten, daß der Übertragungsmodus auf ASCII eingestellt ist. Sie sollten auch nicht vergessen, Ihr Script auf "ausführbar" zu stellen.
CGI-Programme können Sie in verschiedenen Sprachen schreiben, z.B. in Perl, Unix shell oder C/C++. Bei der Auswahl der Sprache sollten Sie berücksichtigen, daß die CGI-Scripte in C/C++ vor dem Online-Einsatz kompiliert werden müssen. Allerdings brauchen Sie das nicht selber machen. Sobald Sie Ihre Scripte in Ihr Verzeichnis übertragen haben, senden Sie uns einfach ein E-Mail mit folgenden Angaben:
Sollte etwas nicht korrekt sein, so meldet sich der CGI-Wrapper und gibt Ihnen eine entsprechende Fehlermeldung auf dem Browser aus.
GET oder POST?
Damit jedes Eingabe-Feld Ihres Formulars eindeutig identifiziert werden kann, erhält jedes Feld einen Namen. Bei der Übertragung der Eingaben an das Script werden dann sog. Name-/Werte-Paare gebildet, jedem Feld-Namen wird also der eingegebene Wert zugewiesen.
Meistens wird empfohlen, die POST-Methode zu verwenden, da hier keine Variable (QUERY_STRING) benutzt wird. Denn, wenn viele Daten an das Script gesendet werden, könnte es vorkommen, daß die Größe von QUERY_STRING nicht ausreicht, alle diese Daten aufzunehmen. Bei POST werden die Daten als separater Stream gesendet, Daten-Umfangs-Beschränkungen existieren nicht.
Unix Shell oder Perl
Möchten Sie, daß Ihr Script in eine Datei schreibt, welche sich in Ihrer Verzeichnisstruktur befindet, dann muß der absolute Pfad zu dieser Datei angegeben werden.
Formular-Design Bitte beachten Sie, daß innerhalb der <FORM>-Anweisung keine Tabelle für die einzelnen Felder definiert werden darf, den dann ignoriert der Browser den Aufruf des Scripts! | |||||||
| |||||||