Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: php группы права групп
Форумы портала PHP.SU » » Вопросы новичков » php группы права групп

Страниц (1): [1]
 

1. itrabotnik - 29 Июля, 2011 - 21:47:44 - перейти к сообщению
Здравствуйте.

Подскажите как реализовать для разных пользователей ограниченный доступ к внутренним страницам сайта.
Пишу небольшую системку для жены (бухгалтерия)

На данный момент сделал авторизацию по логину + пароль на сессиях, без кукисов (дополнительный вопрос: стоит ли использовать кукисы в авторизации???? )
Есть 5 внутренних страниц. Хочу чтобы одной группе доступ был ко всем страницам сайта, а другой группе только к одной странице (с возможностью расширения).
Как вариант, на каждой странице сделать проверку на принадлежность к группе, но если таких групп будет больше 5 допустим.... это может затруднить загрузку страниц.

Пока изучаю php, поэтому без классов и mvc, как говорится первую версию пробую набить руку.
Подскажите вариант как реализовать данную задачку. Не обязательно за меня писать код, просто логику подскажите, пока еще не додумал из-за малого опыта.
2. LIME - 29 Июля, 2011 - 22:01:52 - перейти к сообщению
itrabotnik а может проще использовать авторизацию веб сервера?
(Добавление)
http://www[dot]codenet[dot]ru/webmast/ap[dot][dot][dot]pache-Access.php
если нужен только доступ без записей в бд или тому подобное то это оптимально
3. iflight - 29 Июля, 2011 - 22:13:19 - перейти к сообщению
Раз уж сессии используете, то можно так - в базе помимо пароля и логина храните групу к которой принадлежит юзер. При логине\старте сессии сохраняйте группу юсера в сессию ($_SESSION['group'] = $group_name;) и на нужных страницах конструкцию наподобе следующей:
PHP:
скопировать код в буфер обмена
  1. if($_SESSION['group'] == 'admin'){
  2.    //тут выводим страницу
  3. } else{
  4.    echo 'Недостаточно прав для просмотра страницы';
  5. }


Если кратко то так..
4. LIME - 30 Июля, 2011 - 00:23:43 - перейти к сообщению
iflight пишет:
в базе помимо пароля и логина храните групу
храните не пароли а их хеши
таким образом даже получив эти хеши невозможно будет зайти
5. itrabotnik - 30 Июля, 2011 - 00:28:53 - перейти к сообщению
ой блин, а я и не знал, что в сессиях можно хранить.... что-то еще...
подозревал, но не знал) видать не дочитал инфу по сессиям!
спасибо, значит первоначальная чуйка не подвела)

LIME
у меня солянка в базе)

 

Powered by ExBB FM 1.0 RC1