Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Расширение загружаемого файла

Сообщения:  [1-10]    [11-20]  [21-22] 

 
 автор: Люстэн   (07.12.2011 в 16:31)   письмо автору
 
   для: malish   (21.11.2008 в 16:12)
 

Не сильно в тему но:

$extension = array_pop(explode(".",$_FILES['avatar']['name']));

Теперь в переменной находится расширение файла.

  Ответить  
 
 автор: sim5   (24.11.2008 в 13:48)   письмо автору
 
   для: malish   (24.11.2008 в 13:20)
 

Если уж та то пошло, и вас беспокоит только безопасность, то вредоносный код вообще может не имет никакого расширения, как впрочем может быть помещен и в любой другой файл с любым расширением. А запускать сие будет совсем иное, маленькое, пролезшее совсем в другую дыру, и совсем не туда куда вы файлы складываете.
Что касается расширений, ну коли вам лень проверять как следует, дело ваше, тем более, если вы готовы с веником постоянно проверять свои папки. Делай так как считаете нужным, вас никто не заставляет делать иначе.

  Ответить  
 
 автор: malish   (24.11.2008 в 13:20)   письмо автору
 
   для: sim5   (24.11.2008 в 09:40)
 

>Делайте что хотите. Считаете, что достаточно узнать, что в расширении написано .jpg, а значит, если это исполняемый файл, то он не запуститься, а то что мусор мне пофигу...

Думаю тот, кто захочет ломануть сервак сделает это и не важно сколько проверок вы сделаете и каких.. А тех кто по ошибке попытается залить "неправильный" файл - отсекёт простейшая проверка.. Поэтому мусора не будет много.. Разве что какой-нить дибилоид решит принципиально завалить вас таким "мусором".. Поэтому мне кажется что проблема "мусора" не слишком актуальна учитывая что сайт модерируется..

  Ответить  
 
 автор: sim5   (24.11.2008 в 09:40)   письмо автору
 
   для: malish   (24.11.2008 в 09:13)
 

Делайте что хотите. Считаете, что достаточно узнать, что в расширении написано .jpg, а значит, если это исполняемый файл, то он не запуститься, а то что мусор мне пофигу... В общем как хотите, так и делайте, я вам не указ.

  Ответить  
 
 автор: malish   (24.11.2008 в 09:13)   письмо автору
 
   для: sim5   (23.11.2008 в 13:48)
 

Ну по идее при выводе картинки через тэг img - даже если там будет исполняемый файл пусть даже с "графическим" раширением, то один хрен он не запустится.. Ведь src атрибут всего лишь пытается показать его а не запустить, так ведь? То есть мы говорим именно о "мусоре"..

  Ответить  
 
 автор: sim5   (23.11.2008 в 13:48)   письмо автору
 
   для: UnFast   (23.11.2008 в 13:44)
 

Кроме вреда, о котором нужно думать, думайте еще и "мусоре". Будете надеяться на расширение, получите кучу мусора себе на сервер.
Это не мой вариант, а разработчиков, и его нужно использовать.

  Ответить  
 
 автор: UnFast   (23.11.2008 в 13:44)   письмо автору
 
   для: sim5   (23.11.2008 в 11:57)
 

Я не утверждал, что по расширению, можно опредилить полностью тип файла.
Я сказал, что можно сделать фильтр расширений и запретить передачу исполняемых файлов на сервер. Конечно исполняемый файл может передаться на сервер, если расширение подделать, но исполняться он не будет. Конечно ваш, вариант можно, использовать, но естествено вместе с проверкой расширения, так как не все файлы, можно проверить на валидатность, как картинки например, и mime тоже возможно можно подделать.

[поправлено модератором]

  Ответить  
 
 автор: sim5   (23.11.2008 в 11:57)   письмо автору
 
   для: UnFast   (22.11.2008 в 16:54)
 

Уважаемый! Все дело в том, что доверяться расширению файла, да еще уповать на некий супер-фильтр расширений, позволяющий определить тот-ли файл вам загружают или нет, это полная профанация. Единственно надежной проверкой типа загружаемого файла, является проверка его заголовка. Кое что есть в этом направлении, например, загружаемые графические файлы можно проверить по заголовкам, независимо от того какое расширение вы им укажите, и как бы вы не подделывали передаваемый тип.
Кое что можно сделать и по другими типам, если у вас на хосте можно подключить модуль mod_mime_magic (может быть указан в списке как mime_magic_module). Этот модуль определяет MIME-тип, просматривая первые несколько байт файла (заголовок). Этот модуль как "вторая линия обороны" для случаев, когда mod_mime не может определить тип файлов.

  Ответить  
 
 автор: UnFast   (22.11.2008 в 16:54)   письмо автору
 
   для: sim5   (22.11.2008 в 16:43)
 

[поправлено модератором]

  Ответить  
 
 автор: sim5   (22.11.2008 в 16:43)   письмо автору
 
   для: UnFast   (22.11.2008 в 16:37)
 

Да вот хотелось услышать от вас о супер надежности проверки по расширению, но так и быть, пошел своей дорогой.

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-22] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования