Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 25.12.2010, 23:21   #1
dr.Chas
***
СуперМодератор
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,161
По умолчанию Загрузка файлов на сервер. (безапасность) Посоветуйте

Имеется ресурс. На нём пользователи могут загружать файлы. Как это всё организовать безапасно?

Я буду использовать белые списки типов файлов (от mimetype думаю отказатся). Разрешено: рисунки, архивы, доки.

Допустим я проверяю по типу файла закачиваю на сервер. Файлы эти только потом отдаются пользователю, плюс картинки могут использоваться при оформлении материала. Какие тут могут быть уязвимости или этого будет достаточно?
dr.Chas вне форума Ответить с цитированием
Старый 26.12.2010, 09:00   #2
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,672
По умолчанию

В .htaccess пропишите:
Код:
register_globals = off;
В настройках сервера:
Код:
allow_url_fopen = off;
При работе с файлами используем:
Код:
is_uploaded_file()
move_uploaded_file()
Виталий Желтяков вне форума Ответить с цитированием
Старый 26.12.2010, 14:56   #3
dr.Chas
***
СуперМодератор
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,161
По умолчанию

Ну почти всё также, только это is_uploaded_file() не использовал, щас допишу. Ещё есть нюансы какие то?
dr.Chas вне форума Ответить с цитированием
Старый 26.12.2010, 15:14   #4
kpachbiu
взагрузке.рф
Форумчанин
 
Аватар для kpachbiu
 
Регистрация: 13.06.2010
Сообщений: 117
По умолчанию

dr.Chas да вроде уже ответили на твой вопрос!
Проверяешь тип файла, его размер (Кб), размер картинок!
Взагрузке.рф - Файлы для людей
Ищу художника или веб-дизайнера для создания браузерной онлайн игры! icq 340-289-851
kpachbiu вне форума Ответить с цитированием
Старый 26.12.2010, 15:41   #5
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Для всех типов файлов:
- принудительное переименование и присваивание типа из "белого списка".
- запрет на прямой доступ и выполнение скриптов для директории с загруженными файлами.
- выдача файлов (неважно - картинки в текст страницы,или файлы для download) ТОЛЬКО при помощи скрипта - никакого прямого доступа к файлам.

Дополнительно для изображений:
- проверка типа файла при помощи getimagesize() .
- крайне желательно выполнять обязательный ресайз - хоть даже и сохраняя при этом исходные размеры изображения - поможет в борьбе с возможными шелл-кодами, вирусами и JS.

И вообще - в вопросах аплоада пользовательских файлов всегда лучше перебдеть...)))
Andkorol вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
загрузка файлов на сервер Dimarik PHP 6 16.12.2010 10:46
Загрузка файла на сервер denisov JavaScript, Ajax 0 31.05.2010 18:25
Загрузка файлов через WEB форму на сервер Sergey2 PHP 17 26.07.2009 14:53
Загрузка файла на сервер Pum Работа с сетью в Delphi 11 14.03.2009 08:58


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS