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

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

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

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

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

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

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

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

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

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

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

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

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


23:04.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.