Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > при upload картинки проверить что это картинка |
Автор: kolombo777 15.11.2008, 15:22 |
при upload картинки проверить что это картинка, а то ведь могут php-shell загрузить. можно проверить по заголовку браузера mime-type, но нельзя браузеру доверять, так как браузер находится на стороне клиента -> заголовок mime-type можно подделать. Значит надо проверить содержимое картинки, как это сделать? |
Автор: skyboy 15.11.2008, 15:28 |
http://php.net/getimagesize -> ['MIME'] |
Автор: kolombo777 15.11.2008, 15:54 |
а может нужно использовать библиотеку gd ? Воспользоваться функцией imagecreatefrom... например imagecreatefromjpeg если вернула ошибку то это не имейдж или поврежденный имейдж |
Автор: awers 15.11.2008, 17:01 | ||
согласен с kolombo777
|
Автор: ksnk 15.11.2008, 19:05 |
Не все так просто, imho. GD плохо относится к анимированным гифам, хотя, конечно, открыть позволит. Можно еще нарваться на многомегабайтную картинку, для которой нету рессурсов у этого GD для того, чтобы ее открыть. swf, к примеру, тоже своего рода картинка... Есть еще один не очень надежный, но более универсальный способ - http://ru2.php.net/manual/en/function.mime-content-type.php. Это какой-то автоматический определятель формата файла по сигнатуркам в самом файле. Достаточно умно, быстро. |
Автор: Pentium133 18.11.2008, 12:43 |
Посмотрите тут http://habrahabr.ru/blogs/php/44615/ первую и вторую части статьи. Тема раскрыта полностью. |