The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Права на папки."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"Права на папки."  
Сообщение от shiza email(ok) on 31-Окт-07, 16:09 
Встал такой вопрос.
Как после авторизации пользователя на сайте - в зависимости от его логина - назначить права досупа к папкам?
Например авторизовался пользователь user1:
1. он может скачивать файлы только из папки var/www/users/user1/files
2. может выполняется скрипт /var/www/ченибудь_такое
3. папку var/www/users/config - пользователь напрямую прочитать не может, а скрипт может.

Пока предполагаю - что веб-сервером будет apache.
Но мне кажется что проблематика настолько опщая - что должно быть какое-то боле-менее стандратизированное решение =)

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Права на папки."  
Сообщение от Answer on 31-Окт-07, 20:09 
буквально - необходима прокладка - в апаче она именуется suexec (читай документацию).
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Права на папки."  
Сообщение от angra (ok) on 01-Ноя-07, 06:55 
>буквально - необходима прокладка - в апаче она именуется suexec (читай документацию).

Не поможет. suexec это только для скриптов, но не для статики, а задача похоже на статику. Кое-какие идеи как это сделать есть, но это слишком геморно и того не стоит. Кстати, а каким образом вы собираетесь делать авторизацию?


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Права на папки."  
Сообщение от Answer on 01-Ноя-07, 12:47 
Собственно для скриптов я и описываю, т.к. об этом человек и спрашивает.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Права на папки."  
Сообщение от angra (ok) on 02-Ноя-07, 09:08 
>Собственно для скриптов я и описываю, т.к. об этом человек и спрашивает.
>

А как тогда понимать:
>1. он может скачивать файлы только из папки var/www/users/user1/files

это ведь доступ к статике. Если скачивание через скрипт, то сам скрипт и должен определять откуда можно, а откуда нельзя и никакой suexec тут не нужен

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Права на папки."  
Сообщение от shiza email(ok) on 02-Ноя-07, 11:45 
>>Собственно для скриптов я и описываю, т.к. об этом человек и спрашивает.
>>
>
>А как тогда понимать:
>>1. он может скачивать файлы только из папки var/www/users/user1/files
>
>это ведь доступ к статике. Если скачивание через скрипт, то сам скрипт
>и должен определять откуда можно, а откуда нельзя и никакой suexec
>тут не нужен

Немного почитал, теперь могу более осознанно сформулировать.

Скрипт дает возможность пользоватлеям работать с файлами в своих папках.
Также у каждого пользователя есть файл конфига.

Хотелось бы дополнительный уровень защиты, так как я не до конца уверен в качестве скрипта и есть подозрение - что много народу будет пытатся его взломать.

Не хотелось бы что в случае взлома скрипта например - пользователи лазали в чужие папки или смотрели свой конфиг.

Насчет того как проводить авторизацию - пока не решил.
Вроде как средставами веб-сервера надежнее получается (?)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Права на папки."  
Сообщение от kino404 (??) on 02-Ноя-07, 12:43 
>[оверквотинг удален]
>
>Хотелось бы дополнительный уровень защиты, так как я не до конца уверен
>в качестве скрипта и есть подозрение - что много народу будет
>пытатся его взломать.
>
>Не хотелось бы что в случае взлома скрипта например - пользователи лазали
>в чужие папки или смотрели свой конфиг.
>
>Насчет того как проводить авторизацию - пока не решил.
>Вроде как средставами веб-сервера надежнее получается (?)

Я бы дал идею такую - rewrite rules (mod_rewrite). После успешной аутентикации подставлять имя юзера в путь, откуда можно и нужно брать файлы. Скрипт при этом будет один и работа однообразная. Для юзера прозрачно. Если конечно речь идет только о файлах которые надо показать юзеру а не о скриптах для каждого юзера, которые могут исполняться этим каждым юзером со своими правами.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Права на папки."  
Сообщение от angra (ok) on 03-Ноя-07, 15:10 
Если средствами апача, то просто положите соответствующие .htaccess и .htpasswd во все папки. В папке доступной юзеру должен быть .htpasswd только с его записью

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Права на папки."  
Сообщение от shiza email(ok) on 05-Ноя-07, 04:59 
Скрипт один на всех пользователей.
Скрипт дает возможность пользователю:
1.вывести часть файла в виде html страницы.
2. дать прямую ссылку на файл.

Поэтому я боюсь:
1. что пользователь сломав скрипт сможет прочитать файлы другого пользователя (или файл своего конфига).
2. напрямую скачать файл из чужой папки.

Насколько я понял на данный момент, первое решается с помощью suexec, второе с помощью .htaccess и .htpasswd.

Я прав? %)

p.s. Насчет mod_rewrite не очень понял. Он решает только вторую проблему? %)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Права на папки."  
Сообщение от angra (ok) on 05-Ноя-07, 20:21 
Если интерфейс идет через скрипт то можно сделать намного проще и удобней для пользователя (так как http authorization жутко раздражает). Создаете каталог доступный сточки зрения апача  всем пользователям и отключаете на нем индексы. То есть зная имя файла его прочитать можно, но вот список имен посмотреть нельзя. Файлы пользователей храните в каталогах, недоступных через браузер. Когда пользователь заправшивает файл создаете hardlink на этот файл в общедоступном каталоге с именем сгенерированным по типу GUID и отдаете пользователя это имя. Время от времени хардлинки можно удалять.

По поводу взлома. ввведите жесткие ограничения на используемые символы в данных от пользователя. которые каким либо образом используются в операциях с БД или файлами. Используйте регэкспы для проверки. Например запретите в логине, пароле, имени аплоадящегося файла все символы кроме A-z0-9_. Если нельзя ограничить данные для БД, то используйте специфическую для данной БД функцию экранированя, а лучше вообще делайте запросы с параметрами через prepare/execute


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру