MIME тип гитарных про файлов? - PullRequest
0 голосов
/ 11 января 2012

на моем сайте я хочу разрешить людям загружать гитарные про файлы. По-видимому, для них нет конкретного типа MIME (я проверил, и он дал мне «application / octet-stream»). Есть ли способ проверить и быть на 100% уверенным, что файлы являются гитарными про файлами, а не чем-то другим? Спасибо

Ответы [ 2 ]

1 голос
/ 12 января 2012

Чтение первых байтов из загруженного файла. Например, именно так я проверял загруженные файлы при создании аналогичных функций.

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

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

Таким образом, чтение символов с 1 по 19 дало бы мне строку «FICHIER GUITAR PRO». Этот подход работал для меня для файлов gp4. Также я использовал для проверки расширений файлов. Однако имейте в виду, что нет реальной проверки, которую вы можете выполнить для фильтрации вредоносных загрузок, поскольку подделка первых байтов, а также расширения довольно проста. Так что всегда должна быть некоторая дополнительная модерация всех загружаемых файлов.

0 голосов
/ 11 января 2012

Вы должны проанализировать файл и проверить правильность строки версии:

http://dguitar.sourceforge.net/GP4format.html
...