Details für die
Script-Ausführung |
Rechte des
Verzeichnisses "/cgi-bin"
CGI-Scripte werden nur innerhalb des Verzeichnisses "/cgi-bin/"
und den Unterverzeichnissen davon ausgeführt. Das liegt daran,
dass der Webserver aus Sicherheitsgründen in einem CGI-Verzeichnis sämtliche anderen Zugriffe auf Dateien
unterbindet.
Besonders wichtig ist, dass nur der Eigentümer das
Recht haben darf, das Verzeichnis zu beschreiben. Stellt der
Webserver fest, dass das Verzeichnis auch für andere
beschreibbar ist, wird er die Ausführung des CGI-Skripts
ausnahmslos ablehnen.
In diesem CGI-Verzeichnis
werden nur ausführbare
Dateien akzeptiert.
Die Zugriffsrechte für das Verzeichnis (und
untergeordnete Verzeichnisse)
müssen
755 oder 711
sein.
|
Recht des Scripts
Das
CGI-Skript selbst muß analog zum CGI-Verzeichnis das Recht
755 besitzen. Insbesondere gilt auch hier, dass nur der
Eigentümer Schreibrecht für das Skript haben darf. Ist das
nicht der Fall, wird das Skript vom Webserver nicht
ausgeführt.
Außerdem muss das Skript für jedermann ausführbar sein und
ebenso für jederman lesbar sein.
|
Erste Zeile des Scripts
In
der ersten Zeile des Skripts steht das Programm, welches das
Script ausführen soll. Fehlt diese Angabe, dann wird das
Script als ein Shell-Skript interpretiert. Damit man Skripte
auch von anderen Programmen ausführen lassen kann, wie z.B.
Perl oder Phyton, wird in der ersten Zeile der vollständige
Aufrufpfad des entsprechenden Programms angegeben und mit
der speziellen Zeichenfolge "#!" markiert.
Die erste Zeile
eines Perl-Skripts enthält also folgenden Text:
#!/usr/bin/perl
|
DOS/Win-Zeilenschaltungen testent
In
der Regel ist es einfacher, von Dos/Win-Zeilenschaltungen
auszugehen und diese zu löschen, als diesen Test im Kopf zu
behalten. Also der Test erfolgt unter Telnet:
#>tr -c -d \\r < scriptname | wc -c
Dieser Befehl gibt die Anzahl der gefundenen DOS/Win-Zeilenschaltungen
zurück. Steht etwas anderes
als 0, so sind DOS/Win-Zeilenschaltungen im Skript
enthalten.
|
aus einem Skript E-Mails
versenden
Um nicht zustellbare E-Mails zu bekommen, rufen Sie im
Skript Sendmail mit der
Option "-f
Absenderadresse"
auf.
|
Was ein CGI-Script zum
Webserver zurückliefern muss
Ein CGI-Skript kann verschiedene Dokumentarten zum
Server zurückliefern. Daher muss es in der ersten
Zeile seiner Ausgabe dem Server mitteilen, um was
für ein Dokument es sich handelt, gefolgt von einer
Leerzeile. In den meisten Fällen wird das CGI-Skript
ja eine HTML-Seite zurückliefern, so dass die
Ausgabe wie folgt auszusehen hat:
Content-type: text/html
{leerzeile}
|
|
|
|
|
|