PHP nicht ausführen sondern herunterladen

DaRealMC

Erfahrenes Mitglied
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
Code:
<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
 
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
 
Zuletzt bearbeitet:
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
 
Zurück