Hi Tomas,

Tomas Michal wrote:
> Hi... stunden später...

Tage später ...

>
> Habe hier eine Lösung:
>
> <LocationMatch /service/webspace/.*/ebay>
>         Options IncludesNOEXEC -ExecCGI Indexes
>         AddHandler cgi-script .cgi .pl .php .sh .pm .phtml .com .exe
> .bat .csh .js
> </LocationMatch>
>
>
> Dann gehts... gibts etwas eleganteres ??

Eleganter im Sinne von kürzer nicht, aber ich denke mein Vorschlag setzt eher da an wo die Ursache liegt.


Die Ausführung von PHP-Skripten kann auf 2 bzw. seit Apache2 auf 3 Wegen erfolgen: Modul (AddType application/x-httpd-php), CGI oder Filter.


SuSE verwendet standardmässig die erste Methode (s. /etc/apache/conf.d/php4.conf).

Um die Ausführung und zugleich aber auch die Auslieferung der Skripte als Quelltext zu unterbinden solltest Du den Zugriff einfach unterbinden :

<Directory /path/2/docroot/service/webspace/hmmm/ebay>

    <FilesMatch "\.php[345]?$">
        Satisfy All
        Order allow,deny
        Deny from All
    </FilesMatch>

    RemoveType .php .php3 .php4 .php5

</Directory>

Zusätzlich wird hier der MIME-Typ (application/x-httpd-php) zurückgesetzt, der zur Ausführung führt zurückgesetzt.

Und noch zwei Anmerkungen:

- Du solltest nichts in Deinem DocRoot aufbewahren, was nicht auch
evtl. ausgeliefert werden soll. Also warum nicht einfach die Skripte löschen?


- Die Verwendung von <Location> sollte nur verwendet werden wenn die Resource nicht auf das Dateisystem abgebildet. Sonst sind <Directory> und <Files> immer vorzuziehen.

http://httpd.apache.org/docs-2.0/sections.html#mergin

Gruss,
.max


--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de" unsubscribe-Anfragen an [EMAIL PROTECTED]
sonstige Anfragen an [EMAIL PROTECTED]
--------------------------------------------------------------------------




Antwort per Email an