Michael Schröpl: Von cgi-bin Ordner auslesen, der NICHT im cgi-bin liegt..??

Beitrag lesen

Hi,

Leider musste ich jetzt aber feststellen, daß Bilder, die im cgi-bin Verzeichnis liegen, nicht im Browser dargestellt werden (es sind wahrscheinlich nur .cgi und .pl-Dateien dort erlaubt).

Es ist nicht der Browser, der sie nicht darstellt - es ist der Webserver,
der ihre Daten nicht zum Browser liefert.
Das liegt an der Art und Weise, wie Dein CGI-Verzeichnis definiert ist.

Dabei gibt es zwei Möglichkeiten (Syntax: Apache, Semantik: allgemeingültig).

a) "richtige" CGI-Verzeichnisse
   (http://httpd.apache.org/docs/mod/mod_alias.html#scriptalias)
   Definiert, daß alles, was innerhalb eines URL-Teilbaums liegt, vom Webserver
   als CGI-Anwendung interpretiert und "ausgeführt" werden soll.
   Das passiert mit Deinen Bildern: Der Webserver "führt sie aus", produziert
   dabei eine Fehlermeldung statt korrekter Graphikdaten und überträgt dies
   zu Deinem Browser, der damit nichts anfangen kann.

b) Verbindung zwischen Dateinamensmuster und "Handler"
   (http://httpd.apache.org/docs/mod/mod_mime.html#addhandler)
   Man kann definieren, daß Dateien mit z. B. bestimmten Endungen vom Webserver
   als CGI-Anwendungen interpretiert werden sollen. Dies kann auf bestimmte
   Verzeichnisbäume beschränkt sein, muß aber nicht. "Faule" Webmaster definieren
   so etwas für ihren gesamten Server (der frühere Provider des Self-Portals
   war ein solcher). Vorteil: Du kannst in einem CGI-Verzeichnis zwischen Anwendungen
   und deren Daten mischen. Nachteil: *Jetzt* kann man auf die Daten auch per Browser
   zugreifen, was möglicherweise nicht erwünscht ist (Passworte etc. !)

Dein Problem wäre also durch eine entsprechende Konfiguration des Webservers
vermeidbar, falls Du darauf Einfluß nehmen kannst.
Vom Standpunkt der Wartbarkeit und Transparenz ziehe ich im allgemeinen Fall
jedoch Methode a) eindeutig vor (worauf Klaus Mock sich bezogen hatte).

Viele Grüße
      Michael