Вопрос 1.
Проверяю загруженные файлы на сервер вот так:
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($finfo, $file);
finfo_close($finfo);
Достаточно ли этого, или нужно устанавливать на сервер антивирус?
Вопрос 2.
Нашёл миме типы файлов.
$mime_types = array(
'txt' => 'text/plain',
'htm' => 'text/html',
'html' => 'text/html',
'xml' => 'application/xml',
// images
'png' => 'image/png',
'jpe' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'jpg' => 'image/jpeg',
'gif' => 'image/gif',
'bmp' => 'image/bmp',
// archives
'zip' => 'application/zip',
'rar' => 'application/x-rar-compressed',
// audio/video
'mp3' => 'audio/mpeg',
// adobe
'pdf' => 'application/pdf',
'psd' => 'image/vnd.adobe.photoshop',
'ai' => 'application/postscript',
'eps' => 'application/postscript',
'ps' => 'application/postscript',
// ms office
'doc' => 'application/msword',
'docx'=> 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
'rtf' => 'application/rtf',
'xls' => 'application/vnd.ms-excel',
'xlsx'=> 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
'ppt' => 'application/vnd.ms-powerpoint',
'pptx'=> 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
// open office
'odt' => 'application/vnd.oasis.opendocument.text',
'ods' => 'application/vnd.oasis.opendocument.spreadsheet'
);
Но почему то finfo_file($finfo, $file); выдаёт другие миме типы для некоторых файлов, например у фалов txt. От чего это зависит?
Вопрос основной.
Как нужно проверять файлы загруженные на сервер пользователями?