Tom: Upload script

Beitrag lesen

Hello Susi F.,

Den Hyperlink habe ich raus genommen, der war sowieso fehl am platz.

Der Hyperlink als solches ist nicth schädlich, wenn die Bilder ja sowieso irgendwann über HTTP erreichbar sein sollen. Er ist nur dann schädlich, wenn nicht sichergestellt ist, dass es sich auch nur um Bilder handeln kann.

Um das zu testen, könntest Du auch zusätzlich zum MIME-Type-Prüfung auf dem Server die PHP-Funktion

getimagesize() http://de.php.net/manual/de/function.getimagesize.php verwenden

Das mit den 60 Bytes ist nur eine probe gewesen um zu schauen ob das script, Dateien höherer Anzahl, durchlässt. Hat es nicht gemacht und ausgegeben wurde der Fehler.

Wurde auch nicht bemängelt, sondern hat nur die Nebenfrage aufgeworden, was Du mit 60Byte großen Bildern willst.

Auch habe ich vorher eine php Datei als gif getarnt also 1.php wurde 1.gif sowie 1.php wurde 1.php.gif, diese wurden auch nicht hochgeladen und der Fehler die Datei besitzt keine gültige Endung ist ausgegeben worden. Deswegen fühlte ich mich schon auf einer etwas Sicheren Seite da die scripte die ich gesehen habe auch so ungefähr aufgebaut waren.

Das liegt aber wahrscheinlich daran, dass DEIN Client beim MIME-Type nicht gelogen hat, sondern den richtigen mitgeliefert hat.

Jetzt hast Du auf mehrere Links verwiesen und ich weiß gar nicht mehr was ich machen soll. http://de3.php.net/manual/de/function.mime-content-type.php habe ich mir angeschaut und zu diesem Thema habe ich noch zwei andere Einträge von Dir gefunden (http://forum.de.selfhtml.org/archiv/2005/2/t100192/

Mit der Funktion beschäftige ich mich gerade. Sie basiert auf dem Programm 'file' auf Linux-Servern. Es gibt auch eine vergleichbare Funktion für WinDOSen. Die suche ich gerade noch.

Solange die PHP-eigene Funktion mime_content_type() zur Verfügung steht, kannst Du die benutzen.
Was sagt denn deine Funktion get_defined_functions()? Ist die gewünschte Funktion dabei?

und http://tutorial.riehle-web.com/scripts/mime-type.inc.txt).

Die Funktion von Dennis liefert NUR den zur Endung gehörenden MIME-Content-Type.
Das ist eben bei Fälschung meider nicht derjenige, der zum Inhalt gehört.
Sie dürfte demnach auch nicht mime_content_type() heißen, sondern mime_extension_type()

Des Weiteren habe ich mir auch die Links; http://httpd.apache.org/docs/2.2/mod/core.html#forcetype
und
http://httpd.apache.org/docs/2.2/mod/core.html#filesmatch angeschaut und hier habe ich einen total Error meines Kleinhirns erhalten!

Dann nimm doch einfach das Großhirn dazu. :-)

Die Konfigurationen habe ich Dir nur genannt, falls Du Dir auf dem Server ein _ungeparstes_ Verzeichnis bauen willst. Damit könnte man verhindern, dass PHP in einem bestimmten Verzeichnis tätig wird, auch wenn die Dateien sonst geparsed würden.

Ich weiß nicht mehr was ich tun soll, das soll nicht heißen dass ich zu faul dafür bin,
verstehe dass bitte nicht falsch aber ich komme an meine Grenzen.
Kennst Du den jemanden der ein Upload Script wie es jetzt unten steht (nur auf Sicherer Basis) verkauft? Die Umbenennung des Dateinamens über eine POST übergebene ID sollte auf jeden fall vorhanden sein!

Mal langsam. Es wird sich auch für Dich noch eine Lösung finden.
Es ist aber nicht unbedingt alleine mit dem Script getan. MMn muss man auch in der Serverkonfiguration für zusätzliche Sicherheit sorgen (ungeparstes Verzeichnis).

Ein harzliches Glückauf

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de