Kann ich dem Dateityp von $ _FILES vertrauen?

7

Kann ich dem Dateityp von $_FILES beim Hochladen von Bildern vertrauen? Oder muss ich das nochmal mit exif_imagetype() überprüfen?

    
HappyDeveloper 05.09.2011, 13:22
quelle

5 Antworten

6

Aus der Dokumentation :

  

Der Mime-Typ der Datei, wenn der Browser diese Informationen bereitgestellt hat. Ein Beispiel wäre "image / gif". Dieser MIME-Typ wird jedoch auf der PHP-Seite nicht überprüft und daher nicht als selbstverständlich betrachtet.

    
Sebastian Wramba 05.09.2011, 13:26
quelle
5

Vertraue niemals etwas, das von außen kommt, besonders Datei-Uploads!

Überprüfen Sie die Größe, den Ort, den Pantomime / Typ, die Ausdehnung und alles, was Sie überprüfen können!

    
Wesley van Opdorp 05.09.2011 13:24
quelle
4

Nein, Sie können der Variablen $_FILES['userfile']['type'] nicht vertrauen. Der in dieser Variable vorhandene Wert könnte gefälscht werden. Sie können finfo_file verwenden, um den Dateityp zuverlässiger zu erkennen:

%Vor%

Diese Funktionen erfordern PHP & gt; = 5.3.0.

    
Salman A 05.09.2011 13:33
quelle
3

Ich verwende immer die nächste Funktion, um gültige Bilder zu überprüfen:

%Vor%     
DarkBee 05.09.2011 13:24
quelle
2

Nein, Sie können ihm nicht vertrauen, denn diese Informationen werden von der Client-Browser .

  

$_FILES['userfile']['type'] Der Mime-Typ der Datei, wenn der Browser   lieferte diese Informationen. Ein Beispiel wäre "image / gif". Dieser Pantomime   Typ wird jedoch auf der PHP-Seite nicht geprüft und daher nicht übernommen   sein Wert ist selbstverständlich.

    
Jon 05.09.2011 13:27
quelle

Tags und Links