Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2009, 22:08   #1
InCun
Пользователь
 
Аватар для InCun
 
Регистрация: 11.04.2009
Сообщений: 64
Вопрос Закрыть доступ к станицам

Пользователи у меня есть. (По группам тоже распределены)

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

И какие методы безопасности следует вспомнить в таких скриптах?
InCun вне форума Ответить с цитированием
Старый 15.04.2009, 22:35   #2
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Не четко поставлен вопрос.
Вы хотите сделать авторизацию пользователей для доступа к определенным страницам?
Вариантов можеть быть несколько - как чистый РНР, так и вместе с БД, а так же HTTP-авторизация (Apache+ mod_security + MySQL)
SkyM@n вне форума Ответить с цитированием
Старый 16.04.2009, 21:37   #3
InCun
Пользователь
 
Аватар для InCun
 
Регистрация: 11.04.2009
Сообщений: 64
По умолчанию

Цитата:
Не четко поставлен вопрос.
Простите, не знаю как еще четче написать.

Цитата:
Вы хотите сделать авторизацию пользователей для доступа к определенным страницам?
Авторизация пользователей есть.
1. Как присваивать им доступ к определенным частям меню... или страниц.
Пример: на одной странице есть два (так называемых) модуля... Если права пользователя высокие, то доступны оба модуля, если обычный юзер, то только один модуль будет запускаться...

Цитата:
а так же HTTP-авторизация (Apache+ mod_security + MySQL)
А вот с этим я ознакомлюсь, спасибо!
InCun вне форума Ответить с цитированием
Старый 17.04.2009, 00:10   #4
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Так просто перед загрузкой модуля доставать из БД права юзера, который авторизовался и в зависимости от ограничений - показывать ту или иную страницу
SkyM@n вне форума Ответить с цитированием
Старый 17.04.2009, 03:13   #5
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Как вариант - присвоить каждому юзеру права, типа 10 - зарегистрированный, 30 - расширенный доступ, 50 - модератор, 100 - админ. Каждой странице тоже присвоить лимит доступа.
А потом проверять, если доступ больше лимита - показывать/давать доступ, если меньше - то нет.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 17.04.2009, 16:08   #6
InCun
Пользователь
 
Аватар для InCun
 
Регистрация: 11.04.2009
Сообщений: 64
Вопрос

Это я понял...
К примеру у меня есть меню, список такой...

•. Меню (Доступ Админа 1)
•. Меню (Доступ Модера 2)
•. Меню (Доступ Пользователя 3)
•. Меню (Доступ Админа 1)
•. Меню (Доступ Пользователя 3)
в коде примерно так:
Цитата:
$sql = ...; //connect BD
$row = ...; //Проверка имени пользователя и вытаскивание прав доступа.
if ($row==1) {echo "•. Меню (Доступ Админа)";}
if ($row==2) {echo "•. Меню (Доступ Модера)";}
if ($row==3) {echo "•. Меню (Доступ Пользователя)";}
if ($row==1) {echo "•. Меню (Доступ Админа)";}
if ($row==3) {echo "•. Меню (Доступ Пользователя)";}
Это так получается?
____________________________
А по поводу страниц,
если у пользователя 3 а у Админа 1
Страница с доступом 2...

это будет так?
Цитата:
include header.php;
include config.php;

$sql = ...; //connect BD
$row = ...; //Проверка имени пользователя и вытаскивание прав доступа.
if ()
{
// выполняется контент страницы...
echo $text;
}
else
{
// Открывается страница с выводом ошибки.
include error_page.php;
}
include footer.php;
InCun вне форума Ответить с цитированием
Старый 17.04.2009, 17:32   #7
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

я сделал по методу сессий. Если сессия не та то отправка на индекс или на страницу типа Error, что доступ для админов только.


меню я сделал тоже с сессиями. Вот так:
Код:
<?php
session_start();
if ($_SESSION['admin'])
{
echo "•. Меню (Доступ Админа)";
}
?>
Во 2 случае легче сделать так
Код:
include header.php;
include config.php;

$sql = ...; //connect BD
$row = ...; //Проверка имени пользователя и вытаскивание прав доступа.
if ()
{
// выполняется контент страницы...
echo $text;
} 
else 
{
// Открывается страница с выводом ошибки.
exit('Не достаточно доступа!');
}
include footer.php;
there are no limits when you're software engineer

Последний раз редактировалось spein; 17.04.2009 в 20:06.
spein вне форума Ответить с цитированием
Старый 18.04.2009, 00:19   #8
Deight
Бредовый
Форумчанин
 
Аватар для Deight
 
Регистрация: 15.11.2008
Сообщений: 285
По умолчанию

Судя по #6 то что доступно пользователю не доступно админу и модератору и т.д.(существуют знаки неравенства). Глупая какая-то тема если честно. Это всё дело зависит от того где хранятся страницы(в базе или файлами).
Чем точнее и проще задан вопрос, тем проще на него получить точный ответ.

Последний раз редактировалось SkyM@n; 20.04.2009 в 03:49. Причина: отдельную тему надо создавать
Deight вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Закрыть доступ! anton14 Свободное общение 10 23.01.2009 21:40
Закрыть доступ к CD приводу Gorychev Операционные системы общие вопросы 5 04.05.2008 15:48
Закрыть доступ к файлу *.db Антон Шестаков БД в Delphi 6 05.01.2008 09:28
закрыть программу Var17 Общие вопросы Delphi 1 20.12.2007 10:06
Закрыть доступ для всех процессов к файлу Sanek_ntsk Общие вопросы Delphi 6 04.12.2007 16:26