Вы, я имел обыкновение говорить «выполнено» для значения примера.
Поистине, у меня была проблема два года назад: честная белая шляпа загрузила php-файл на мой сервер, запустила его, и этот файл самостоятельно создал некую CMS для управления моим сервером с помощью Разрешение пользователя php .. Затем просто отправил мне электронное письмо, в котором говорилось, меньше или больше: «Ваше приложение не является безопасным. Для демонстрации, я не имею этого и того ... '
Действительно, после того, как я проверяю каждое разрешение на каждый файл, который у меня есть на моем сервере, но все же мне не нравится идея иметь на нем какой-нибудь файл malicius ..
Я попробую функцию файловой Unix, я уже вижу, что могу получить вывод с помощью кода, подобного этому:
<?
php passthru('file myfile.pdf', $return);
echo $return;
?>
С некоторой настройкой, я надеюсь, будет достаточно безопасно.
@ Паоло Бергантино: мое приложение представляет собой веб-службу, люди загружают изображения, PDF-документы, CSV-файлы, ECC ..., но загрузка - не единственное действие, которое затем может выполнить; Например, изображения должны отображаться на общедоступной странице пользователя.
Я думаю, что пойду так:
- Загрузить файл;
- Проверить тип файла с помощью файла passthru;
- Удалить, если неясно;
- Иначе, переместите его в каталог пользователя (по имени с именами строк)
Спасибо всем.