Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Форма загрузки. Помогите добавить проверку PNG JPG
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
Самое прикольное то, что насовать левые файлы можно как в случае первой предложенной проверки, так и в случае второй ))
Да, это распространенные "варианты", но спасут только от определенных ситуаций.
Эти проверки, скорее, для пристижа Что бы спугнуть часть нападающих
Но спать спокойно не выйдет.
Я предлагаю,
1. Обязательно проверять расширение файла
2. Если оно валидно, пересохранять картинку используя GD (это выкинет вредоносный код из файла, если он есть)
3. Если сохраняете файлы в директории у себя на сервере, отключайте там возможность исполнять PHP код.
4. Не позволять пользователю контролировать название загруженных файлов (переименовывать их)
Естественно это не все нюансы безопасности загрузки файлов, но для картинок меня ещё не подводило.
И да, если проверять mime, то лучше ещё и проверить соответствие mime из $_FILES и finfo/exif.
Бывают случаи, когда mime из $_FILES точнее чем finfo/exif. Угу.
Могут быть конечно проблемы при сравнении со всякими pjpeg, но будьте добры, используйте алиасы для "кривых" типов. Гулять так гулять)
Вообщем у меня всё, более подробно - в поисковиках и бложеках ну и конечно же собственные "ковыряния", куда же без них
Viper
Отправлено: 10 Августа, 2015 - 20:47:51
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
teddy пишет:
И да, если проверять mime, то лучше ещё и проверить соответствие mime из $_FILES и finfo/exif.
я бы назвал это методом костылезации.
1. требует модуль
2. не всегда точен.
вывод = зачем такая проверка.
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
Ребятки, остановитесь. Человек не может расширение загруженного файла сравнить. Попросил помочь. А вы ему сразу инструкцию по сборке истребителя суёте. (Добавление) kuzmit4
У вас есть строчка
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
Viper
Хм а где тут костыль? это скорее усиление "брони" приложения.
Хуже не будет, успокоит школьников, добавит поинтов пристижа в копилку безопасности.
А так да, как уже говорил, это можно обойти.
DelphinPRO
Инструкцию давать нужно. Ибо не дашь инструкцию сейчас - запомнит, и будет думать, что все пучком. Поэтому инпуты всюду дырявые.
да кстати, одного getimagesize тоже не достаточно, и его тоже можно обойти
Ладно, как обычно, пишу зря) Полагайтесь на type и ждите гостей, если вы не "Неуловимый Джо".
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
teddy пишет:
Хм а где тут костыль? это скорее усиление "брони" приложения.
Хуже не будет, успокоит школьников, добавит поинтов пристижа в копилку безопасности.
А так да, как уже говорил, это можно обойти.
плохо читали? Требует дополнительно php_mbstring и php_exif. Уже сужает круг возможности использования, тем более как и другие методы не дает гарантии, да ещё и ошибочный результат.
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
teddy пишет:
Ладно, как обычно, пишу зря
Отчего же зря? Правильно пишешь.
----- Чем больше узнаю, тем больше я не знаю.
teddy
Отправлено: 10 Августа, 2015 - 21:46:48
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
Viper
Если вы читали внимательно, то я написал finfo/exif, т.е один из перечисленных, а не конкретно exif или оба сразу.
Что касается доступности - если пишем серьезное приложение, на шаредах ему не место, а если это не шаред, тогда речи о "недостающих" расширениях быть и не может.
И вообще, нормальный шаред хостер включает подобные расширения не задумываясь (если они отключены). А ненормальными лучше не пользоваться
Viper пишет:
плохо читали?
Viper пишет:
mp3 тоже конвертить в картинку?
Ага. Только плохо читали вы, а не я.
teddy пишет:
для картинок меня ещё не подводило
Мы же сейчас про картинки говорим?
Вообщем, я умываю руки)) Не хочу спорить с "аргументами". (Добавление)
teddy пишет:
Бывают случаи, когда mime из $_FILES точнее чем finfo/exif
Уточню, действительно только для случаев, когда mime определяется HTTP клиентом, например, браузером.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.