Как убедиться, что загруженный файл является документом MS Word?

Я думаю о сохранении загруженных документов в папку за пределами корневого веб-каталога и загрузке загрузок с помощью сценария с использованием readfile (file) .

Однако мне интересно, достаточно ли следующего для устранения любых возможных угроз:

$filename = basename($_FILES['uploaded_file']['name']);
$ext = substr($filename, strrpos($filename, '.') + 1);
if (($ext == "doc") && ($_FILES["uploaded_file"]["type"] == "application/msword"))
{
execute rest of the code
}

Я читал людей, рекомендовавших использовать finfo_open () , но мой сервер находится под php 5.3.0, поэтому я не могу его использовать. Я пробовал использовать mime_content_type () , но он всегда выдает мне «текст / обычный» с любым файлом, который я отправляю (я не знаю, делаю ли я что-то с этим не так) .

Могу ли я что-нибудь добавить, чтобы сделать этот процесс более безопасным?

6
задан hakre 15 June 2011 в 19:21
поделиться