2010-11-20 9 views

Antwort

1

Ich denke, dass Sie etwas wie finfo_file verwenden sollten. So weit ich weiß, kann $_FILES["file"]["type"] vom Uploader zu allem, was er will, gefälscht werden.

0

Darüber hinaus können Sie auch für jede Datei Exe ausführbare Dateien MIME-Typ überprüfen hat immer der Mime Anwendungsart

pplikation/Octet-Stream, application/x-msdownload, application/exe, application/x- exe, application/dos-exe, vms/exe, application/x-winexe, application/msdos-windows, application/x-msdos-program

0

Wenn du eine RegExp oder pathinfo verwendest, dann denke ich, dass das in diesem Fall ist Einfacher überprüfen Sie nur den Dateinamen und nicht den Dateityp.

prüfen this answer zu sehen, wie die MIME-Typ (oder fileinfo mime_content_type)

1

Es gibt keine zuverlässige Möglichkeit, das zu tun zu bekommen, da alle Informationen, die manipuliert werden kann, durch den Client gesendet wird.

würde ich einfach die Dateinamenerweiterung überprüfen wie:

if (strncasecmp(substr($_FILES["file"]["name"], -4), '.exe') === 0) { 
    // is .exe 
} 

Zusätzlich Sie nach bestimmten magic numbers aussehen könnte.

Stellen Sie sicher, dass wenn Sie diese Datei liefern möchten, Sie einen geeigneten MIME-Medientyp verwenden (z. B. application/octet-stream).

-1
$_FILES["uploaded_files"]["type"][$i] != "application/octet-stream" 
Verwandte Themen