Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Насколько безопасен такой тип распр. доступа


Автор: immax 11.10.2007, 00:52
Всем доброго времени суток... 
Понадобилась система регистрации и распределения доступа среди юзверей. Ранее никогда не задумывался об этом. В голове представилось следующее: 
1. После регистрации на каждого юзверя создаётся профайл, в котором будет установлена одна из 3х степеней доступа, а также общие настройки вроде темплейта и общей информации. 
2. При входе юзверя (по пассу и логину) в куки записывается инфа (скорее всего пасс и логин, либо какой-нибудь уин по md5), по которой при каждом переходе на другую страницу сайта подгружается профайл.  (куки-сессия, что ли). Куки либо дохнет при разрыве сессии (закрытие браузера), либо схраняется в зависимости от выбора юзверя.
3. На страничке относительно уровня доступа в профайле отображаются дополнительные элементы, которые незарегистрированным пользователям не видны (типа комментирования). А при уровне доступа админ на любой странице будет возможность даже закрыть сайт, отредактировать содержимое блоков (скажем новостной блок, или блок последних добавлений) или удалить текущую страницу... 

*профайл- простой текстовик в папке users на уровень выше корня с Order Deny,Allow Deny from all, будет по запросу инклудится.  (так и не научился любить мускул)

Какие подводные камни могут ожидать меня при таком подходе к сабжу?

Автор: comcon1 11.10.2007, 01:16
я делал, так что у меня прова записывались в поле таблицы юзеров в мускуле. На каждой странице в каждом месте стоит проверка, отображать ли это место согласно текущему положению юзера. Текущий юзер определялся по мд5-хешу его пароля, логину и еще одному ключевому слову, сохраняемому в базе по заходу юзера. Вроде, все пучком.

Автор: Папараццы 11.10.2007, 06:56
Ну все очень легко. База пользователей будет из 4 столбца состоять. Id, Name, Pass, Rights а права ужзе обозначай  буквой какой нить. И уже в скриптах подели их. То что касается md5() в куках, то их можно  также подменить и просто обновить страничку... Сессии тебе в помощь. Не советую в куках держать переменные.  

Автор: immax 11.10.2007, 16:36
Я-то великолепно понимаю то, что куки можно отредактить... Только вот смысл в редактировании куки, если пасса другого юзверя ты всё равно не знаешь? А переменную с куки сделать скажем чтоб максимум принимало 15 первых символов и только цифр и буквей =) 
Просто с куки было бы вообще элементарно... Что касается кражи куки (скажем куки в инет-клубе сохранились), это в любом случае к добру не приведёт... Довольно надёжную воблу когда-то *ломали*,  крадя куки ведь, а скрипт вон какого уровня....

Автор: immax 11.10.2007, 16:55
Вот например куки с воблы:
bbpassword  14e8bb18b74d30...
bbsessionhash  9df54f84ecf9bd1... 

Автор: Папараццы 11.10.2007, 23:02
То то закинет троян те на комп..Подменяет этот параметр у себя.. И все сайт взломан!

Автор: comcon1 12.10.2007, 09:38
можно хешировать пароль с какой-нить инфой (например с датой). Сегодня кук будет работать, завтра нет. Или заносить в базу запись при авторизации и проверять ее наличие (кроме кук), тогда одних куков будет не достаточно для авторизации. Я пользуюсь вторым способом.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)