| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Безопасность загрузчика файлов |
| Автор: PROme 8.6.2005, 00:31 |
| Нужно сделать возможность загрузки картинки на сайт любым желающим. Можно узнать, какие есть меры по защите (скажем, чтобы вместо картинки не подсунули какую-нить бяку)... можно ли на php определить, является ли загружаемый файл картинкой или чем-то другим, только с измененным разширением? |
| Автор: Black 8.6.2005, 01:11 | ||
| PROme вот какие меры предпринимаю лично я:
Если вернут 'Ошибка при открытии графического файла', то уж точно что-то левое загрузили. А вообще не стоит боятся, если .php-файл загрузят на сервер. Все равно мы проверяем разрешение. Даже, если и загрузят, то в виде name.php.jpg, а сервер этот файл картинкой считает и не отдаст на обработку PHP. P/S: возможно кто-то посчитает некие функции, которые я здесь привел не правильными, например, почему размер не может быть меньше 3кб и размеры картинки меньше 100 px. Это просто я код из своей галлереи выдрал. А в нее нельзя маленькие картинки загружать. Только фотографии. Поэтому такие проверки. Также мне интересно выслушать мнения других. |
| Автор: Opik 8.6.2005, 01:42 | ||||
getimagesize:
соответственно
не нужно |
| Автор: PROme 8.6.2005, 01:54 |
| ну да getimagesize не узнает размер картинки, не открыв ее а в общем все ясно и понятно, спасибо ЗЫ: да, ничего особо страшного не будет если что-то левое грузанут, но лучше перестрохаваться, тем более это дополнительных ресурсов считай не и потребует... |
| Автор: Opik 8.6.2005, 10:52 | ||
PROme
зря ты так думаешь...) |
| Автор: Black 8.6.2005, 11:59 | ||
Opik
аргументируй фразу |
| Автор: Mal Hack 8.6.2005, 12:04 | ||
Загрузят PHP скрипт При загрузке надо смотреть как и рсширение файла, так и является ли он этим самым файлом. Те.е картинку ты правильно проверял выш через getomagesize.. |
| Автор: Smak 2.7.2005, 19:39 |
| PHP-DIRECTOR, у тебя в скрипте проверка размера файла идёт уже после его закачки, то есть файл загружается в tmp каталог, потом смотрится его размер... но если юзер начнёт заливать фильм или ещё какой либо большой файл. То файл будет загружаться! а потом только над ним будут происходить действия (естественно скрипт выведет на экран "неправильный формат"), это очень не удобно! поэтому размер надо проверять в форме, я пытался разабраца, но что то у меня не чего не вышло... Может кто знает хорошо HTML, помогите! |
| Автор: Opik 2.7.2005, 19:46 |
| Smak во первых HTML тут непричем... как минимум JS. Во вторых проверки лучше делать всё же на серверной стороне. |
| Автор: Black 2.7.2005, 20:13 | ||
| Smak фильм не закачает никто :-) потому что стоит ограничение на закачку файла (не более 2 Мб). Конечно, в php.ini можно увеличить размер закачиваемого файла, но это, как правило, никто не делает.
и не выйдет. Для этого надо иметь большие права, чтобы иметь возможность работы с файлами (смотреть их размер на пользователькой машине). Не один браузер такого не позволит. Разве что IE, если добавить сайт в надежные сайты и использовать ActiveX. |
| Автор: Smak 2.7.2005, 21:29 |
| ясна! я про php.ini совсем забыл.... |