2017-12-08 4 views
-1

Ich habe Funktionen zum Hochladen von Dateien in die DB getan. Benutzer (Uploader) kann pdf png oder jpeg Dateien hochladen. Alle anderen sind nicht erlaubt. Aber es gibt einen Weg, es zu "hacken". Der Benutzer kann eine Datei (zB PHP-Datei) auf seinem eigenen Computer haben. Er wird die Datei in "test.jpg" von "test.php" umbenennen. Dann wird er die umbenannte Datei als jpg hochladen und wenn das Programm die Datei überprüfen wird, wird es hochgeladen, weil es zurückkommt, dass es jpg (image/jpeg) ist. Gibt es eine Möglichkeit zu überprüfen, ob die Datei wirklich jpeg/png/... ist?PHP File Real Mime

E: Ich möchte nicht nur Bilder hochladen. Die Datei, die hochzuladen ist, kann in einem anderen Format sein, deshalb kann ich die Funktion imagesize() nicht verwenden.

Antwort

0

Es gibt eine native PHP-Funktion mime_content_type, die den MIME-Inhaltstyp für eine Datei zurückgibt, die anhand von Informationen aus der magic.mime-Datei ermittelt wurde.