| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Помогите разобраться с закачкой файлов - правами |
| Автор: ura 3.6.2004, 15:38 |
| Юзеры авторизуются через скрипт. надо дать возможность закачивать свои картинки, написал я соответствующий скрипт, сделал папку uploads на сервере у каждого есть своя подпапка в ней, названая ID юзверя. Но для того чтоб файл можно было закачать, надо этой подпапке назначит права 0777 Так это ,что получается, любой гость сможет грохнуть файлы вместе с папкой или своих файлов еакачать без авторизации? Что-то никак не могу разобраться с этим |
| Автор: MuToGeN 3.6.2004, 16:09 | ||||
Добавлено @ 16:10
Добавлено @ 16:11 ЗЫ А под какими правами и с каким владельцем сохраняются сами фаилы? |
| Автор: IZ@TOP 3.6.2004, 16:25 | ||
Без авторизации ни как. Если только не найдет дырку в твоем скрипте и не воспользуется ею. |
| Автор: ura 4.6.2004, 11:26 | ||||||
Файлы сохраняются под 755 так все-таки
или
|
| Автор: IZ@TOP 4.6.2004, 13:19 |
| Я бы сказал так:Да, любой, кто получит доступ к FTP, либо какой-нить web file manager, либо shell. |
| Автор: Chuck 4.6.2004, 15:29 |
| 1. Решение, если ты админ, то ты можешь создать массу групп = кол-ву твоих пользователей, но это глупо и не реально, хотя если получится 2. Решение. Создай папку тмп и туда пусть закачивают файлы, а ты потом сам или через скрипт будешь их расфасовывать!!! 3. Решение - создать скрипт с правами админа (который может менять права доступа). Открываешь сессию. Запускаешь скрипт - он меняет права доступа с root на user допустим, только для одной папки. После закачки, этот же скрипт меняет права назад - с user на root Мудренно, но возможно!!! Я не знаю, прав ли я, но вот так я представляю решение этой задачи, причем их придумывал экспромтом! А вообще посмотри, как это делается у профессионалов (скачай, какой нить файловый web менеджер) |
| Автор: MuToGeN 4.6.2004, 15:53 | ||
Если ты - админ, то ставь апачевый модуль для suexec-а (как точно называется - не помню).
Добавлено @ 15:54 ЗЫ Что это дает: скрипты запускаются от имени владельца скрипта. Тогда права можно ставить 700 и никаких проблем не будет. |
| Автор: ura 5.6.2004, 21:10 | ||
т.е. если такой доступ имею только я, а файлами юзер управляет только через мой скрипт, все ОК? |
| Автор: MuToGeN 6.6.2004, 01:10 |
| Обычно на таких хостингах доступ может получить любой зарегестрированный там пользователь (после нескольких хитрых телодвижений) |
| Автор: ura 7.6.2004, 11:48 | ||
это наиболее подходит в моей ситуации, только как это сделать ? как кнкретно я могу создать скрипт с правами админа? |
| Автор: Master 7.6.2004, 12:18 | ||
| ura обычно скрипты могут что хотеть то и воротить в пределах твоего аккаунта. так вот... пишеш перед закачкой файла:
а после закачки таким же методом возвращаеш права на место. |
| Автор: MuToGeN 7.6.2004, 14:25 |
| А вот тут нюанс - в 90% случаев ftp работает с нормальной PAM атворизацией, а вот апач - нет. Результат: папка, созданная по FTP, имеет права 755, владелец и группа - персонально твои. А скрипты гонятся из-под apache (имеется в виду системный пользователь) или из-под nobody. А чтоб сменить права, ты должен обязательно быть владельцем папки (или, конечно, root-ом). |
| Автор: yUAC 9.6.2004, 20:32 |
| Короче говоря, ставь 777 и не парься. Если тебя кто-то взломает, обратись к хостеру. Могу посоветовать PeterHost (это НЕ РЕКЛАМА!!), у них PHP-скрипты и Apache (видимо) запускаются от имени пользователя, и есть доступ к shell-командам |
| Автор: MuToGeN 9.6.2004, 20:55 | ||||
|
| Автор: ura 10.6.2004, 13:58 |
| спасибо всем за помощь, вообщем пока ставлю 777, а потом может хостинг сменю. Найду где моим скриптам дают полные права в пределах моего эккаунта, не знаю как на ПХП, но я такое на перле точно встречал. |