Каков наилучший способ определения типа или типа mime, прекращения любого проникновения вредоносного кода и устранения ошибки в вашей системе.Лучший способ типа Mime
В моем примере мне нужен способ скрининга, так что .mp3 загружается на сайт. Теперь я знаю, что есть mime_content_type, но это дает нечетные результаты в зависимости от того, как был создан файл и какой браузер вы используете, поскольку он получает свои данные из браузера, по крайней мере, так я это понимаю.
это мой код для идентификации с использованием типа mime.
if(mime_content_type_new($_FILES["userfile"]) == 'audio/mpeg') { do stuff }
то есть с помощью командной строки Unix и интерпретации, которые
$fileinfo = exec("file -b 'song.mp3'"); echo $filinfo;
это выдает что-то вроде этого.
Аудио файл с ID3 версии 2.3.0, содержит: MPEG АТД, слой III, V1, 192 кбит, 44,1 кГц, стерео
поэтому мы можем перебирать и проверить этот матч к т наш тип файла.
$fileinfo = exec("file -b 'song.mp3'");
$filewewant = "MPEG";
$mpeg = stripos($fileinfo, $filewewant);
$filewewant = "layer III";
$mpeg3 = stripos($fileinfo, $filewewant);
if ($mpeg !== False & $mpeg3 !== False)
{ echo "success"; };
таким образом, кажется, работает лучше, независимо от имени абонента (например, как он переименовал его .png), но требует файл будет сохранен первый сортируют до конца, и не работает на окнах.
Я также указал на http://pear.php.net/package/MIME_Type
Кто-нибудь еще есть лучший способ сделать это? Каков правильный способ определить, какие файлы загружаются на ваш сервер?
Возможный дубликат [Как получить тип содержимого файла в PHP?] (Http://stackoverflow.com/questions/1232769/how-to-get-the-content-type-of-a- файл-в-PHP). Сказав это, я бы приветствовал более полные ответы здесь ... – deceze
Я не видел этого, когда смотрел, ссылается на mime-types allot, просто пытаясь выяснить, какие альтернативы есть с течением времени (глядя на дату) –