Frage

Auf meiner Website möchte ich den Leuten erlauben, Gitarren -Pro -Dateien hochzuladen. Anscheinend gibt es für diese keinen spezifischen MIME-Typ (ich habe getestet und es gab mir "Anwendung/Oktettstrom"). Gibt es eine Möglichkeit, zu überprüfen und zu 100% sicher zu sein, dass die Dateien Guitar Pro -Dateien sind und nicht etwas anderes? Vielen Dank

War es hilfreich?

Lösung

Lesen Sie die ersten Bytes aus der hochgeladenen Datei. Auf diese Weise habe ich beispielsweise hochgeladene Dateien untersucht, als ich ähnliche Funktionen erstellt habe.

$f = fopen($_FILES['tmp_name'], "rb");
fseek($f, 1);
$in = fgets($f, 19);
fclose($f);

if ($in == 'FICHIER GUITAR PRO') { ... }

Das Lesen von Chars vom 1. bis 19. würde mir String 'Fichier Guitar Pro' geben. Dieser Ansatz funktionierte für mich für GP4 -Dateien. Außerdem habe ich die Erweiterungen von Dateien überprüft. Beachten Sie jedoch, dass es keine wirkliche Überprüfung gibt, die Sie durchführen können, um böswillige Uploads zu filtern, da dies die erste Bytes sowie die Erweiterung ziemlich einfach ist. Es sollte also immer eine zusätzliche Moderation aller hochgeladenen Dateien geben.

Andere Tipps

Sie sollten die Datei analysieren und prüfen, ob die Versionszeichenfolge korrekt ist:

http://dguitar.sourceforge.net/GP4format.html
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top