Форумы портала PHP.SU » » Работа с файловой системой и файлами » Как проверить, что загружаемый файл является изображением?

Страниц (1): [1]
 

1. sc2r2bey - 21 Августа, 2017 - 11:00:45 - перейти к сообщению
Будет ли проверка mime-типом достаточным, чтобы удостоверится, что загружаемый файл изображение или есть более надежный способ?
2. Мелкий - 21 Августа, 2017 - 11:07:05 - перейти к сообщению
Можно пнуть getimagesize, если размеры есть - значит скорей всего перед нами изображение.
3. sc2r2bey - 21 Августа, 2017 - 12:30:57 - перейти к сообщению
Мелкий пишет:
Можно пнуть getimagesize, если размеры есть - значит скорей всего перед нами изображение.
в самой документации написано, что не рекомендуется использовать эту функцию для таких целей )

Цитата:
Предостережение

Функция ожидает, что filename является корректным файлом изображения. Если будет передан файл не содержащий изображения, он может быть некорректно интерпретирован как изображение и функция завершится успешно, но массив при этом будет содержать бессмысленные значения.

Не используйте getimagesize() для проверки того, что файл является файлом с изображением. Для этих целей используйте расширение Fileinfo.

но и Fileinfo не дает 100% гарантию
4. Мелкий - 21 Августа, 2017 - 13:09:23 - перейти к сообщению
а, да, действительно. Склероз.

Обычно fileinfo верят, плюс веб-сервер настраивается только раздавать файлы из директорий загрузки файлов (если вообще их надо веб-сервером потом раздавать) без возможности запуска каких-то скриптов.
5. OrmaJever - 22 Августа, 2017 - 00:12:02 - перейти к сообщению
самый надёжный способ это отключить исполнение скриптов в загружаемых директориях

 

Powered by ExBB FM 1.0 RC1