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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Почему не работает $_FILES['userfile']['type']
 
 автор: Nevi   (17.03.2008 в 19:08)   письмо автору
 
 

Здравствуйте !
Столкнулся с необычным явлением
загружаю файл на сервак и проверяю его $_FILES['userfile']['type']
все проверяется без проблем

НО

я специально подменяю txt файл => делаю его с расхирением gif например - файл как вы пониматете БИТЫЙ с точки зрения картинки gif и естественно его $_FILES['userfile']['type'] должен быть каким угодно но ТОЛЬКО НЕ image/gif

Однако загружая ЛЮБОЙ ФАЙЛ (mp3 , txt, exe ) пменяя расширение на GIF - переменная $_FILES['userfile']['type'] тупо говорит что type = image/gif как будто смотрит только на его расширение а не лезет во внутренности и не проверяет ИСТИННЫЙ ТИП ФАЙЛА

ВОПРОС
как определить ИСТИННЫЙ ТИП ФАЙЛА?

Спасибо

   
 
 автор: Wunderbar   (17.03.2008 в 19:30)
 
   для: Nevi   (17.03.2008 в 19:08)
 

Да значение $_FILES['userfile']['type'] передается от клиента, сервер файл никак не проверяет.

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

Можно просто проверять первые байты файла и, если они подходят под стандарт, например, GIF'а "поверить", что дальше тоже всё путем.

   
Rambler's Top100
вверх

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