Mal CGI Skript, mal Download
Armin Schäfer
- webserver
0 Carsten
Mist, jetzt hatte ich gedacht, dass ich alle Probleme mit der Apache Installation beseitigt habe... ich verwende Apache (1.3.12) in der OS/2 Version. Mein Problem: Damit meine Skripts (OS/2 Programme mit der Endung .exe) lauffaehig sind, habe ich "AddHandler cgi-script .cgi .exe" in der Konfig Datei gesetzt.
Jetzt werden die Skripte auch einwandfrei ausgefuehrt.
Wenn ein User allerdings in der Filebase rumkramt und ein File mit der Endung .exe runterladen moechte, denkt Apache natuerlich, dass es sich um ein CGI Skript handelt, das er ausfuehren moechte. Da keine ExecCGI Rechte fuer diese Directories gesetzt sind, bekommt der Benutzer nur eine Fehlermeldung zu sehen:
-------------------------------> Beisskante <---------------------------------
Forbidden
You don't have permission to access
/f//modem/windows/win3xx.programme/winzip95.exe on this server.
-------------------------------> Beisskante <---------------------------------
Eine Loesung habe ich hier im Forum schon erhalten, aber die funktioniert nicht, oder ich bin zu bloed ein entsprechendes .htaccess File zu erzeugen:
-------------------------------> Beisskante <---------------------------------
Idee:
Setz das "AddHandler cgi-script .exe" doch mal in eine .htaccess Datei die im
cgi-bin/ liegt. (Und in der httpd.conf kommt das .exe wieder weg.)
Dann sollte es nur noch für im cgi-Verzeichnis liegende Dateien gelten.
Gruss,
Carsten
-------------------------------> Beisskante <---------------------------------
Diese .htaccess Datei habe ich verbrochen:
AuthType Basic
AuthName User
AuthGroupFile /dev/null
AddHandler cgi-script .cgi .exe
Bringt aber alles nichts, Apache bietet das File weiterhin zum Download an.
Hat jemand eine Idee wie man das Problem loesen koennte?
Ciao, Armin
Hallo Armin,
Diese .htaccess Datei habe ich verbrochen:
AuthType Basic
AuthName User
AuthGroupFile /dev/null
AddHandler cgi-script .cgi .exe
das ist unnötig viel
AddHandler cgi-script .exe
müsste völlig reichen wenn nicht:
Bringt aber alles nichts, Apache bietet das File weiterhin zum Download an.
Wahrscheinlich ist die ergänzende Konfigurierbarkeit der .htaccess Dateien
in der httpd.conf abgeschaltet. Such mal in httpd.conf nach :
AllowOverride None
bei mir steht da z.B.:
#erstmal alles verbieten
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
#.... (also gehts nicht)
# (lokaler Testserver, bei zugänglichen Servern wäre ich da restriktiver)
<Directory "C:/HTDOCS">
AllowOverride All
</Directory>
# ....(also gehts doch)
#
# im cgi-verzeichnis .htaccess nicht einlesen:
<Directory "C:/APACHE/cgi-bin">
AllowOverride None
Options None
</Directory>
und das sieht verdammt so aus, als ob speziell für das cgi-Verzeichnis
keine Änderungen der Optionen zugelassen sind -> deshalb würde das bei
mir z.b. nicht gehen. (Und deswegen geht es bei dir vermutlich auch nicht.)
Das hat wohl Sicherheitsgründe und sowas muss man ja nicht ohne Not
aushebeln. (Oder zumindest nicht mehr als unbedingt nötig.)
Meine nächste Idee ist es, an dieser Stelle den cgi-script Handler
für .exe Dateien hinzuzufügen:
<Directory "C:/APACHE/cgi-bin">
AllowOverride None
#zusaetzlich .exe Dateien zulassen
AddHandler cgi-script .exe
Options None
</Directory>
Damit vereinbarst du den cgi-script Handler für .exe Dateien _nur_ für das
cgi-bin Verzeichnis.
Und wieder ungetestet, aber immerhin im Manual nachgelesen das es so gehen
könnte.
Vielleicht klappts ja diesmal.
Gruss,
Carsten
das ist unnötig viel
AddHandler cgi-script .exemüsste völlig reichen wenn nicht:
Jepp, das hat wirklich voellig ausgereicht!
Wahrscheinlich ist die ergänzende Konfigurierbarkeit der .htaccess Dateien
in der httpd.conf abgeschaltet. Such mal in httpd.conf nach :
AllowOverride None
Stimmt, das war es gewesen. Ich hatte gelesen, das man das Override
erade in CGI Directorys abschalten sollte. Habe ich natuerlich getan,
und jetzt spaeter nicht mehr dran gedacht.
und das sieht verdammt so aus, als ob speziell für das cgi-Verzeichnis
keine Änderungen der Optionen zugelassen sind -> deshalb würde das bei
mir z.b. nicht gehen. (Und deswegen geht es bei dir vermutlich auch nicht.)
Genau so ist es gewesen.
Das hat wohl Sicherheitsgründe und sowas muss man ja nicht ohne Not
aushebeln. (Oder zumindest nicht mehr als unbedingt nötig.)
Ich hoffe, ich habe damit jetzt keine allzu grosse Sicherheitsluecke
aufgerissen.
Meine nächste Idee ist es, an dieser Stelle den cgi-script Handler
für .exe Dateien hinzuzufügen:
Werde ich austesten, wenn ich mit der anderen Methode auf Schwierigkeiten stossen sollte.
Vielleicht klappts ja diesmal.
Vielen Dank, diesmal hat es funktioniert!
Ciao, Armin