[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обезопашивание загружаемых на сайт данных
Гость_User
Здравствуйте.
Нужно ли как-то обезопашивать данные, загружаемые на сайт через форму загрузки файлов. Для простой формы используются приемы, описанные в разделе безопасность сайта. Что делать с формами загрузки файлов?
Простая защита присутствует: ограничение размера и типа файлов.



Спустя 9 минут, 27 секунд (16.05.2011 - 09:49) Семён написал(а):
Может лучше их вспахать? rolleyes.gif

Спустя 6 минут, 50 секунд (16.05.2011 - 09:56) Гость_User написал(а):
Шутку не понял.

Спустя 13 минут, 39 секунд (16.05.2011 - 10:10) Nikitian написал(а):
Давать файлам на сервере кастомные имена, не зависящие от переданных данных (кроме случая определения типа данных по контенту). Отдавать файлы только как статику, не давать лишних прав файлам.

Спустя 5 секунд (16.05.2011 - 10:10) Семён написал(а):
Цитата
обезопашивать данные,
dry.gif

1) Защиту делайте средствами php.
2) Проверяйте формат загружаемого файла.
3) Создайте .htaccess и поставьте запрет на исполнение скриптов.

Спустя 29 секунд (16.05.2011 - 10:10) Админ написал(а):
точно вспахать и всё засеять укропом - укроп всегда пригодится

Спустя 14 минут, 23 секунды (16.05.2011 - 10:25) XCross написал(а):
Цитата
$_FILES['uploadfile']['type'] - MIME-тип принятого файла (если браузер смог его определить), например: image/gif, image/png, image/jpeg, text/html;


Й меня есть вопрос по этому поводу. Загрузился файл. Дальше, перемещаем его из временного католога в постоянный. Хочу изменить имя файла. Но. С определением формата непонятки.
В $_FILES['uploadfile']['type'] будет хранится конкретно формат(jpg,gif,exe,rar.....) или же
image/gif
???
Отсуда и проблемма с сохранением и приходится сохранять имя файла прежним,что в плане безопасности как я понял тож неправильно?

Спустя 4 минуты, 40 секунд (16.05.2011 - 10:29) Nikitian написал(а):
Конечно нехорошо. В этих данных можно передать что угодно. Передам вам имя файла "./../index.php" или "./../.htaccess" и будет весело smile.gif То же самое и с типом данных - можно любой передать.
Как вариант, могу предложить для изображений сразу переконверчивать их в соответствии с переданным расширением. Например через imagick - он может открывать файл и определять его тип по содержимому.

Спустя 1 минута, 17 секунд (16.05.2011 - 10:30) ИНСИ написал(а):
Цитата
В $_FILES['uploadfile']['type'] будет хранится конкретно формат(jpg,gif,exe,rar.....) или же
image/gif

smile.gif а что мешает проверить? Да, будет информация в виде: image/gif Почитай тут: http://php.su/phphttp/?uploads

Цитата
Но. С определением формата непонятки.

Используй функцию: pathinfo(); Почитай тут: http://php.su/functions/?pathinfo

Спустя 14 минут, 9 секунд (16.05.2011 - 10:45) linker написал(а):
В случае IE здесь $_FILES['uploadfile']['type'] в некоторых случаях будет хрень.

Спустя 5 минут, 24 секунды (16.05.2011 - 10:50) XCross написал(а):
velbox, спасибо. Буду с помошью pathinfo узнавать.

Nikitian, попробуй сначала создать файл с таким именем у себя на тачке biggrin.gif

Спустя 8 минут, 34 секунды (16.05.2011 - 10:59) Nikitian написал(а):
Цитата (kmaks @ 16.05.2011 - 10:50)
Nikitian, попробуй сначала создать файл с таким именем у себя на тачке :D

Зачем? Что мне помешает отправить "правильный" заголовок запроса...

Content-Disposition: form-data; name="img"; filename="./../.htaccess"
Content-Type: image/jpeg


Ваше право, я лишь предупредил :)

Спустя 10 минут, 36 секунд (16.05.2011 - 11:09) ИНСИ написал(а):
kmaks если загружаешь фотки, то сделай как сказал: Nikitian

Цитата
для изображений сразу переконверчивать их в соответствии с переданным расширением
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.