Eddy.: Dateiupload und Sicherheit / lesbarer

Beitrag lesen

eins vorweg: Du hättest deinen ersten Beitrag editieren können, anstatt ihn ein zweites Mal zu posten.

Auch als nicht registrierter?

Nein. Die hat eigentlich nichts mit deinem Ansinnen zu tun, widerspricht teilweise sogar.

Die .htaccess soll nur dazu dienen, zu verhindern, dass eventuelle Schaddateien auf dem Server (oder auch auf dem Client je nach Schadcode) Schaden anrichten. Völlig unabhängig vom Upload erstmal. Das hätte ich dazu schreiben sollen.

Zunächst mal: Ausführung von PHP unterbinden? Womit willst du dann die hochgeladenen Dateien annehmen, prüfen und verarbeiten (z.B. im gewünschten Verzeichnis ablegen)?

s.o.

Dann: Alle Direktiven, die du notiert hast, betreffen nur den Abruf von PDF- und Bilddateien vom Server, nicht den Upload solcher Dateien (abgesehen davon, dass Bilddateien auch noch andere Extensions habekönnen als die von dir aufgezählten).

s.o.

Der Ansatz muss daher anders sein. Der eigentliche Upload wird als POST-Request vermutlich ein PHP-Script aufrufen. Dieses Script muss die angelieferte Datei daraufhin überprüfen, ob sie wirklich in die Menge der erlaubten Typen passt. Dazu genügt es nicht, den Namen bzw. die Extension anzuschauen, auch der vom Browser gesendete MIME-Typ kann Bullshit sein. Du müsstest tatsächlich den Dateiinhalt prüfen. Bilddateien erkennt man beispielsweise daran, dass getimagesize() plausible Werte liefert; PDF-Dokumente erkennt man daran, dass sie mit dem String "PDF%" beginnen.

Einverstanden. Da ich mich aber nicht so gut mit Binärdateiuen auskenne, kann ich trotz deiner Prüfungen nicht ausschließen, dass außer dem gewünscht/geprüften Inhalt noch weiterer Schadinhalt vorliegt. Daher meine Idee, dass Thema von der anderen Seite anzugehen. Was wäre, wenn Schadinhalt vorliegt und ich verhindern will, dass er Schaden anrichtet?

Ed