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 :: как проверить, что загруженный файл на сервер - zip-архив?
Покинул форум
Сообщений всего: 116
Дата рег-ции: Июль 2009
Помог: 0 раз(а)
как проверить, что загруженный файл на сервер - zip-архив?
т.е. файл созданный при помощи архиватора, упаковав один или несколько файлов, не через проверку расширения и mime-типа, которые легко подделать?
Viper
Отправлено: 10 Декабря, 2010 - 14:54:39
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Покинул форум
Сообщений всего: 114
Дата рег-ции: Сент. 2010
Помог: 2 раз(а)
Я думаю что наличие информации "4b50" в начале файла не гарантируют что это действительно зип-файл.
А что если попробовать распаковать загруженый файл с помощью метода extract() из библиотеки pclzip.lib.
Если возвратится False значит это не зип, или некоректный зип.
----- Человек, сделавший синтаксический анализатор PHP на одном регулярном выражении, займет достойное место среди гениев. Качественный хостинг по доступной цене
OrmaJever
Отправлено: 11 Декабря, 2010 - 03:06:24
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
sc2r2bey пишет:
Не через проверку расширения и mime-типа, которые легко подделать
Для передаваемых из стороннего источника файловых объектов не существует принципиальной возможноти определениях их реального типа в силу возможност проведения их представления на уровене любого информационного трактования - в частности передаваемый ZIP-файл может в действтельности содержать дополнительные скрытиые данные и в частност использоваться и другим шифрующим приложением
Однако допустимо определения формата файлового объекта относительно возможност его окрытия некоторым приложением и выполнения с ним последующих операци - такие действия возможно прозводить посредствои системы mime_magic выполняющий анализ входящих байтов
Аналогичная ситуация проявляется и при осуществлении определения кодовой таблицы некоторого информационного поля - в случае его его передача не предоставлена явным достоверным образом
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.