| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Безопасно ли хранить файлы вне www |
| Автор: rikki 20.5.2004, 17:59 |
| вообще надо разрешить клиентам закачиать файлы на сервак, для этого надо дать доступ на папку для записи, если поместить папку вне www, то нет вероятности что к ней кто-либо получить доступ (кроме сценария на сервере, предназначеного для этого) ? |
| Автор: Secandr 20.5.2004, 18:11 |
| А можно поподробнее кто, куда и как должен закачивать файлы? |
| Автор: Axxent 20.5.2004, 19:16 |
| Если есть сценарий, значит есть файлы конфигурации, значит есть логины и пароли на любую локацию сети, где бы ты не разместил файлы. Абсолютной безопасности не существует. А вообще, правда, давай-ка поподробнее... |
| Автор: rikki 21.5.2004, 09:03 |
| есть некий сценарий, в котором юзер проходит авторизацию. Надо дать ему возможность загружать/удалять файлы но при этом, только в свою папку. Для этого я создаю папку вне www называю ее X23g5ASzWWe11 скажем, сценарий при попытке авторизованым (через скрипт) пользователем закачать файл создает папку с именем юзера в этой X23g5ASzWWe11 и закачивает туды файлы. Проблема в том, что права то на эти папки будут полные, а как я могу гарантировать что закачка проходит именно с использванием этого скрипта? (проверка в скрипте всяких там размеров файла, его типа, не локальный ли файл переписывается и т.д есть) |
| Автор: DENNN 21.5.2004, 09:59 |
| Необходимо правильно настроить ftp сервис и т.п. Закрыть на сервере права на запись в папки, где расположены исполняемые скрипты, отобрать у скриптов права на изменение прав чтения/запсис в эти папки, а дать только на выбранные подпапки, где собираешься складывать закачанные файлы. Естественно, такие папки лучше сразу вывести из www. При грамотной настройке всех компонентов (ftp, apache, httpd.conf, права на папки) поломать твой сайт через такую дыру не удасться. Максимум- скачать файлы других пользователей, но не исполняемые скрипты. |
| Автор: Master 21.5.2004, 21:37 |
| http://forum.vingrad.ru/index.php?showtopic=18905 |
| Автор: Secandr 23.5.2004, 10:05 |
| если файл находится вне папки www, как его вообще запустить можно? Я бы сделал так: при регистрации пользователя даные заносятся в Mysql таблицу, где хранится уникальный номер(id) пользователя. По этому id и создаётся папка /home/my_site/files/123/ тогла ненужно придумывать имена папок. файлы создаются так же: в базе хранится номер последнего файла, а следующий просто увеличивается на 1. мы получаем файл /home/my_site/files/123/98.file врятли можно будет что-то взломать. файлы запрашиваются по номеру, соответствено eregi_replace("[^0-9]","0",$filename); читает пишет пхп, регистр_глобалс=оф. и всё. |
| Автор: rikki 24.5.2004, 08:54 |
| Огромное спасибо за советы, как только сайт раскручу, с меня ящик пива |