Zum Inhalt springen

Apache/14 CGI/2 Konfiguration/2 Aktivieren: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „«“ durch „''“
Keine Bearbeitungszusammenfassung
Zeile 82: Zeile 82:
zur allgemeinen MIME-Type-Konfiguration finden Sie in Kapitel 7, ''Header und
zur allgemeinen MIME-Type-Konfiguration finden Sie in Kapitel 7, ''Header und
MIME-Einstellungen''.
MIME-Einstellungen''.
[[Kategorie:Apache/CGI]]

Version vom 7. April 2025, 16:11 Uhr

14.2.2 CGI in normalen Verzeichnissen aktivieren

Die Verwendung spezieller CGI-Verzeichnisse ist nur eine von zwei Möglichkeiten der CGI-Konfiguration. Die andere Methode besteht darin, Dateien mit bestimmten Endungen allgemein zu CGI-Skripten zu erklären. Beachten Sie, dass dies aus sicherheitstechnischen Erwägungen nicht die Ideallösung ist. Es handelt sich meistens um interpretierte Skripte, mindestens aber um ausführbare Programme, deren Funktionalität hinter den Kulissen niemanden etwas angeht.

Apache für CGI-Skripte konfigurieren 14.2

Schlimmer: Manche CGI-Skripte enthalten äußerst kritische Informationen wie beispielsweise Zugangsdaten für Datenbanken oder geschützte Verzeichnisse. Wenn Sie diese nicht ausreichend schützen, erleichtern Sie Crackern auf diese Weise ihr gefährliches Handwerk.

Allerdings kann es einen wichtigen Grund für diese Konfiguration geben: Wenn Sie Hoster sind und die Websites zahlreicher Kunden als virtuelle Hosts auf Ihren Server-Rechnern ablegen, gibt es kaum eine andere Möglichkeit, Ihren Kunden den Einsatz von CGI-Skripten zu gestatten. Schließlich greifen die Kunden von außen auf Ihren Webspace zu, und Sie können es sich aus Sicherheitsgründen kaum leisten, ihnen den Zugriff auf ein separates CGI-Verzeichnis zu gestatten. Sind Sie umgekehrt Kunde eines solchen Hosters, dann müssen Sie die ApacheInstallation, auf der Sie Ihre Website im eigenen Netzwerk testen, an diese Besonderheit anpassen.

Um Dateien in einem bestimmten Kontext CGI-fähig zu machen, müssen Sie die Kerndirektive Options anpassen und die von mod_mime definierte Konfigurationsanweisung AddHandler hinzufügen. Die grundlegende Verwendung dieser beiden Optionen wurde bereits in Kapitel 6, Grundkonfiguration, beziehungsweise Kapitel 7, Header und MIME-Einstellungen, erläutert.

Options benötigt für das betreffende Verzeichnis (oder den gesamten Server beziehungsweise Virtual Host) die Eigenschaft ExecCGI, die auch in der allgemeinen Optionenliste All enthalten ist. Sie brauchen also bezüglich Options nichts mehr zu tun, wenn im gewünschten (oder übergeordneten) Kontext bereits die folgende Konfigurationsanweisung gesetzt ist:

Options All

Andernfalls müssen Sie ExecCGI zu den bestehenden Optionen hinzufügen. Angenommen, Sie finden im betreffenden Kontext folgende Anweisung:

Options Indexes FollowSymLinks

Dann müssen Sie die Direktive folgendermaßen ergänzen:

Options Indexes FollowSymLinks ExecCGI

Um nur in einem untergeordneten Kontext, beispielsweise einem speziellen Unterverzeichnis, die CGI-Ausführung zuzulassen, können Sie auch die folgende Direktive für den entsprechenden Kontext verwenden:

Options +ExecCGI

Diese Schreibweise lässt alle anderen bereits im übergeordneten Kontext gesetzten Optionen unverändert.

Die AddHandler-Direktive muss die Endungen aller Dateitypen auflisten, die als CGI-Skripte gelten sollen. Dazu wird für die CGI-Konfiguration folgendes Schema verwendet:

AddHandler cgi-script .Endung1 [.Endung2 ...]

Wenn Sie beispielsweise Dateien mit den Endungen .cgi und .pl als ausführbare CGI-Skripte konfigurieren möchten, müssen Sie folgende Anweisung verwenden:

AddHandler cgi-script .cgi .pl

In der Regel wird diese Direktive einmal für die gesamte Server-Konfiguration gesetzt. Natürlich steht es Ihnen frei, sie alternativ nur für einzelne Verzeichnisse oder andere Unterkontexte einzustellen.

Es kann ein erhebliches Sicherheitsproblem sein, diesen Schritt zu vergessen: Wenn Ihr Server außerhalb der speziellen cgi-bin-Verzeichnisse CGI-Skripte enthält, deren Endungen nicht mittels AddHandler als ausführbar markiert sind, werden diese vom Server im Quelltext ausgeliefert. Warum das so gefährlich ist, wurde bereits erläutert.

Es gibt noch eine (eigentlich veraltete) Alternative zur Verwendung von AddHandler: Sie können die gewünschten Dateiendungen dem MIME-Type application/x-httpd-cgi zuordnen. Dies erreichen Sie durch eine AddTypeDirektive im gewünschten Kontext, z.B.:

AddType application/x-httpd-cgi .cgi .pl

Sie könnten diese Zuordnung stattdessen auch in Ihrer MIME-Type-Datei (durch TypesConfig definiert, standardmäßig conf/mime.types) eintragen. Dieser Eintrag sieht beispielsweise so aus:

application/x-httpd-cgi cgi pl

Wie Sie sehen, werden die Dateiendungen hier ohne führenden Punkt eingetragen. Zu empfehlen ist dieses Verfahren allerdings nicht, weil sich Änderungen in der TypesConfig-Datei nur schwer wiederfinden lassen. Nähere Informationen zur allgemeinen MIME-Type-Konfiguration finden Sie in Kapitel 7, Header und MIME-Einstellungen.