Scripts: Details und Fehlersuche

 

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}

 

>> Adminzugang ] AdminMenü ] WebmailZugang ] WebmailKonfig ] FrontPage ] Spezifisches ] Outlook ] cgi-Basics ] [ cgi-Details ] Verzeichnisse ] Zugriffsstatistik ] ZugriffsstatistikZugang ]