# PHP nicht ausführen sondern herunterladen



## DaRealMC (19. März 2013)

Hallo zusammen,

nach langer Zeit rbauche ich mal wieder eure Hilfe.
Ich habe ein Projket, bei dem Leute Dateien hoch laden können. Ganz bewusst auch z.B. *.php.
Diese Dateien sollen jetzt beim Aufruf aber nicht ausgeführt, sondern heruntergeladen werden.
Das reine Herunterladen habe ich bereits mit 

```
<Files *.*>
Header set Content-Disposition attachment
</Files>
```
realisiert. Leider führt er aber vorher die PHP-Datei noch aus, was natürlich tödlich ist.
Wie kann ich dafür sorgen, dass in diesem Verzeichnis die Scripte nicht ausgeführt, sondern wie Text heruntergeladen werden?

Danke


----------



## ikosaeder (20. März 2013)

Ich hoffe du weißt was du tust,
Einfache Möglichkeit, die Dateien grundsätzlich gepackt auf dem Server ablegen, und dann z.B. als .zip zum Download anbieten, oder in .txt umbenennen. 

Oder statt Downloadlink den Dateiinhalt mit echo ausgeben.

Eine weitere Lösung wäre ein PHP Skript wie hier:
http://www.selfphp.de/kochbuch/kochbuch.php?code=37

Kurze Suche ergab noch folgenden Vorschlag:
http://board.artfiles.de/packages/index.php?page=Thread&threadID=3511

Das scheint aber problematisch zu sein.
Vor allem sollte das Hochladen einer Datei namen .htaccess u.ä. nicht erlaubt sein. 
Sinnvoll wäre hier, den Dateinamen vorne durch z.B. eine laufende Nummer oder den usernamen zu ergänzen.

Noch eine Lösung mit .htaccess
http://stackoverflow.com/questions/5885643/prevent-execution-of-uploaded-php-files

Und noch eine Alternative:
http://blog.triphp.com/lessons/htaccess/disable-script-execution


----------



## DaRealMC (20. März 2013)

Hi,

das mit der .htaccess habe ich bereits verhindert, indem ich den Dateiname zusammen mit andren Infos durch md5() jage. Dabei wird auch verhindert, dass sich zwei Dateien mit dem selben Namen überschrieben.

Das mit dem RemoveHandler (2. Link) könnte genau das sein, was ich gesucht habe.

Danke


----------

