Здравствуйте.
На сайт будут загружаться файлы (наборы файлов от одной загрузки будут ложиться в индивидуальные папки). Доступны эти файлы будут только администраторам сайта. Т.е. в веб интерфейсе просто ссылки на скачивание.
Каким образом реализовать безопасную загрузку без лишних заморочек?
Достаточно ли будет просто проверить расширение файлов и положить в общую папку всех загрузок htaccess, который запретит выполнение файлов?
Может есть какие-то классы, поделитесь?
На фронтенде - plupload.
Файлы могут быть следующие: архивы, любые офисные документы, любые картинки.
vagrand
10.08.2013 - 20:30
Ну тогда как минимум надо проверить их mime-type и желательно при помощи какой-нибудь серверной утилиты, ну иестественно запретить их выполение.
_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Ага, спасибо. Обмозговываю.
Может чуток не в тему...
А возможно объединить отправку информации и загрузку файлов одновременно, чтобы данные пришли обработчику POST'ом одновременно?
vagrand
10.08.2013 - 23:58
Естественно можно, это дефолтное поведение
_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Кстати, загрузка файлов аяксовая...
Ограничился одним расширением. Проверил на размер, на расширение, mime-тип (с помощью getid3, файлы с другим содержимым, с каким бы они расширением ни были и именем не пропускает). Этого достаточно для безопасности? И не обязательно ведь теперь выполнение запрещать?
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.