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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как разграничить права доступа?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
prog90
Отправлено: 20 Августа, 2011 - 01:10:59
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Привет,
подскажите, как сделать, чтобы один пользователь при просмотре профиля другого не смог его изменить? Проверить совпадает ли логин в сессии (логин текущего пользователя) с логином профиля, который он просматривает? Или в базе данных написать триггер, который перед командой UPDATE будет проверять редактируется ли сейчас строка с id таким же как у ползователя который ее редактирует, а ко всем остальным строкам запрещать доступ, и возвратит ошибку (вроде это делается так). Только как узнать id пользователя в триггере?

И еще:
Добавить таблицу, где будут указаны на каких страницах какие группы пользователей могут совершать действия (редактирование, создание, удаление, просмотр, выполнение или чтонибудь другое), и потом на каждой странице проверять права и в зависимости от этого показывать или скрывать что-то? Или поставить запреты или разрешение на команды Insert, Update, Delete, Select и какиенибудь другие в базе данных?
 
 Top
КЫР
Отправлено: 20 Августа, 2011 - 08:44:12
Post Id



Частый гость


Покинул форум
Сообщений всего: 168
Дата рег-ции: Авг. 2011  
Откуда: Новосибирск


Помог: 2 раз(а)




prog90 пишет:
Добавить таблицу

Незачем в лишний раз давать нагрузку на сервер БД

prog90 пишет:
Проверить совпадает ли логин в сессии (логин текущего пользователя) с логином профиля

самое правильное решение, если необходимо делать изменения "на лету"
А если такой необходимости нет, надо сделать отдельную страницу с настройками, тогда никаких вопросов вообще не будет)


-----
Fuck you guys, I'll going home
 
 Top
prog90
Отправлено: 20 Августа, 2011 - 11:52:18
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




А настройки все равно придется в БД хранить? таблица с тем куда кто что может открыть, просмотреть или добавить
 
 Top
КЫР
Отправлено: 20 Августа, 2011 - 13:14:25
Post Id



Частый гость


Покинул форум
Сообщений всего: 168
Дата рег-ции: Авг. 2011  
Откуда: Новосибирск


Помог: 2 раз(а)




prog90
само собой


-----
Fuck you guys, I'll going home
 
 Top
PATCH
Отправлено: 20 Августа, 2011 - 13:41:07
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




можно еще сделать проще при авторизации создать $_SESSION['id'] = $row['id']
при просмотре профиля сравнивать id профиля с сессией $_SESSION['id']; тем самым не какого лишнего запроса к бд сессию id мы сохранили при авторизации а id профиля мы взяли при вывода информации о пользователе для индификации использовали id хотя аналогично можно и с логином)

(Отредактировано автором: 20 Августа, 2011 - 13:42:38)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB