RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 301
от 03.04.2006, 01:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 246, Экспертов: 30
В номере:Вопросов: 2, Ответов: 4


Вопрос № 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


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.21 (beta) от 02.04.2006
Яндекс Rambler's Top100

В избранное