Obelix: Problem mit MIME Typen

Hellooo

Also, ich habe ein Problem: ich lade per PHP Dateien hoch.
Laut SelfHTML ist der MIME Typ application/x-httpd-php für PHP Dateien zuständig. Allerdings deklariert der IE (andere habe ich noch nicht getestet) PHP Dateien als text/plain. Diese möchte ich natürlich erlauben, aber keine Dateien mit Endung PHP, da diese ja auf dem Server ausgeführt werden können.
Was soll ich jetzt also tun? Was ist in diesem Fall die besten Lösung?

  1. Hi,

    Laut SelfHTML ist der MIME Typ application/x-httpd-php für PHP Dateien zuständig. Allerdings deklariert der IE (andere habe ich noch nicht getestet) PHP Dateien als text/plain. Diese möchte ich natürlich erlauben, aber keine Dateien mit Endung PHP, da diese ja auf dem Server ausgeführt werden können.
    Was soll ich jetzt also tun? Was ist in diesem Fall die besten Lösung?

    Speichere die Dateien an einer Stelle, an der sie nicht per http ausgeführt werden können, also außerhalb des per http erreichbaren Bereiches.

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    1. Tjaupi, und wo wäre das?

      Das Problem ist auch, dass das Skript auch andere nutzen werden, ich kann es also nicht so einfach für meinen Server anpassen.
      Wie machen denn die ganzen Boards das mit den Dateianhängen?
      Als beste Lösung fällt mir dann am ehesten noch das überprüfen der Dateiendungen ein, ist zwar doof, aber so kann ich sicherstellen, dass nichts am Server ausführbares hochgeladen wird, oder?

      1. Hallo,

        Als beste Lösung fällt mir dann am ehesten noch das überprüfen der Dateiendungen ein, ist zwar doof, aber so kann ich sicherstellen, dass nichts am Server ausführbares hochgeladen wird, oder?

        Du koenntest an alle *.php u.s.w. Dateien ein *.txt anhaengen.
        Dann sind sie "harmlos".

        Andere Variante: Probier mal folgendes aus:
        .htaccess im Verzeichnis, wo die Dateien landen.
        (Schreibgeschuetzt, nicht durch hochgeladene Datei
        ueberschreiben lassen! ;-) Dort:
        AddType text/plain .php .php3 .php4 .phtml

        Gruesse,

        Thomas

        1. Wie gesagt, so individuelle Einstellungen, wie diese fallen mir auch ein. Allerdings kann das nicht jeder, das Skript wird aber von vielen Leuten benutzt werden und es kann zb. auch möglich sein, dass die auf einem Webspace arbeiten, wo man fast keine eigenen Einstellungsmöglichkeiten hat (bsp. htaccess).
          Ich habe es jetzt mal so gemacht, dass nur Bilder und zip Dateien erlaubt sind, man kann php Dateien im Notfall ja auch zippen.

          1. Moin!

            Wie gesagt, so individuelle Einstellungen, wie diese fallen mir auch ein. Allerdings kann das nicht jeder, das Skript wird aber von vielen Leuten benutzt werden und es kann zb. auch möglich sein, dass die auf einem Webspace arbeiten, wo man fast keine eigenen Einstellungsmöglichkeiten hat (bsp. htaccess).

            Du mußt verhindern, dass die hochgeladenen Dateien unter ihrem gewählten Dateinamen direkt wieder vom Server abgerufen werden und dabei ggf. ausgeführt werden können. Mit anderen Worten: Schreibe ein Skript zum Upload, eines zum Directorylisting und ein drittes zum Downloaden, welches die hochgeladenen Bytes 1:1 wieder heruntergibt.

            Ich habe es jetzt mal so gemacht, dass nur Bilder und zip Dateien erlaubt sind, man kann php Dateien im Notfall ja auch zippen.

            Gezippte Dateien kann man aber auf dem Webserver nicht ausführen, sondern nur Downloaden. :)

            - Sven Rautenberg

            --
            "Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
            (fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)
        2. hi,

          Du koenntest an alle *.php u.s.w. Dateien ein *.txt anhaengen.
          Dann sind sie "harmlos".

          jein.

          wenn die möglichkeit besteht, dass sie irgendwie auf dem selben server mit include/require in ein anderes php-script eingebunden werden könnten, sind sie immer noch genauso "gefährlich".

          gruss,
          wahsaga