Вопрос № 38758: Как сделать ссылку ввиде http://host/index.php?url=1$p=index
Где url=1 это ссылка на папку 1
А p=index ссылка на файл index.php находящийся в папке 1...Вопрос № 38800: Здравствуйте эксперты!
столкнулся с тем , что надо сделать авторизованый доступ к определённым функциям , тоесть к примеру есть 10 функций и на выполнение каждой из них должны быть определённые права у пользователя , как можно организовать такую ...
Вопрос № 38.758
Как сделать ссылку ввиде http://host/index.php?url=1$p=index
Где url=1 это ссылка на папку 1
А p=index ссылка на файл index.php находящийся в папке 1
Отправлен: 28.03.2006, 14:46
Вопрос задал: FreeX (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: XMF
Здравствуйте, FreeX!
-------
http://host/script.php?url=1&p=index
--
только в скрипте обрабатывай эти переменные.
Ответ отправил: XMF (статус: 5-ый класс)
Ответ отправлен: 28.03.2006, 17:41
Отвечает: Королёв Руслан
Здравствуйте, FreeX!
Ссылку надо записать в таком виде http://host/index.php?url=1&p=index
Теперь в $_REQUEST['url'] содержится '1' т.е. папка , а в $_REQUEST['p'] содержится index, т.е. имя файла далее делай с ними что хочешь.
Ответ отправил: Королёв Руслан (статус: 3-ий класс)
Ответ отправлен: 28.03.2006, 19:13
Вопрос № 38.800
Здравствуйте эксперты!
столкнулся с тем , что надо сделать авторизованый доступ к определённым функциям , тоесть к примеру есть 10 функций и на выполнение каждой из них должны быть определённые права у пользователя , как можно организовать такую защиту ?
Отправлен: 28.03.2006, 22:54
Вопрос задал: Cimus (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Doctor013
Здравствуйте, Cimus!
Самое простое - 2 таблицами базы данных(или массивами ) В одной перечисляем действия, во второй - присваиваем пользователям права. Можно также сделать третью таблицу, где можно сгруппировать функции (типа ролей в Oracle) .
перед вызовом функции делаем проверку на доступ к этой функции.
--------- Большинство ответов на вопросы в рассылках находиться через Яндекс за 1 мин.
Ответ отправил: Doctor013 (статус: Студент)
Ответ отправлен: 28.03.2006, 23:15
Отвечает: Zysoftik
Здравствуйте, Cimus!
На мой взгляд проще всего сделать так:
- во все модули, где используются такие ф-ции, вставить обязательную авторизацию пользователя;
- хранить права доступа в виде битовой маски в базе в десятичном виде. Т.е. например 0010001 описывает разрешение доступа к 2-м из 7 ф-ций, а число в базе будет 17;
- после авторизации записать число в сессию;
- каждая ф-ция проверяет свой бит в правах примерно так:
if (($_SESSION['rights']&16)!=16) {echo "Ф-ция недоступна";return;}
При этом в базе будет все просто:
id User Rights
1 Vasya 17
Ответ отправил: Zysoftik (статус: 3-ий класс)
Ответ отправлен: 29.03.2006, 12:14