Помощь - Поиск - Пользователи - Календарь
Полная версия: Запретить Пользователям Сидеть Под Одним Аккаунтом
Форум Php-Nuke > Форумы разработчиков > Вопросы по PHP
zlo
Собственно как реализовать? Сайт не имеет БД, работает на файлах. Аунтификация пользователя происходит по кукам, которые создаются при правильных логине и пароле. Как только сайт закрывают куки труться.

Собственно как запретить второму юзеру авторизоваться, если под его логином и паролем уже сидят?

Была идея в текстовом файле, который хранит данные пользователя, ставить какой либо параметр для этого, но как менять этот самый параметробратно при уходе поьзователя с сайта.
Old_Chroft
Сессии Вам в руки: http://ua2.php.net/manual/ru/book.session.php
zlo
это всё понятно. меня интересует сам олгаритм.
ну создал я сессию, записал её в куки, а дальше что?
KrasivayaSvo
Цитата(zlo @ 27.11.2008, 3:32) *

это всё понятно. меня интересует сам олгаритм.
ну создал я сессию, записал её в куки, а дальше что?

Если отойти от сессий, то нужно в куку подмешивать ip адрес и соответственно где-то держать сопоставление ip адреса и имени пользователя.
И при логине проверять, но нужно очень хорошо подумать, как это сделать грамотнее ибо в большинстве своем у пользователей динамические адреса.
Old_Chroft
Цитата(KrasivayaSvo @ 27.11.2008, 3:46) *

Если отойти от сессий, то нужно в куку подмешивать ip адрес и соответственно где-то держать сопоставление ip адреса и имени пользователя.
Лёш, вы оба меня неправильно поняли. Надо "отходить" не от сессий, а от cookies. В PHP есть функции, которые переопределяют работу сессий: их данные можно писать в БД или в файлы. Взять хотя бы сайт rus-phpnuke: где то храниться список залогиненных на данный момент пользователей, и их список выводится в блоке справа "кто на сайте". Никто не мешает сделать подобное, "прикрутив" к этому запрет на многократное "залогинивание" под одним ник-неймом.
KrasivayaSvo
Цитата(Old_Chroft @ 27.11.2008, 9:29) *

Лёш, вы оба меня неправильно поняли. Надо "отходить" не от сессий, а от cookies. В PHP есть функции, которые переопределяют работу сессий: их данные можно писать в БД или в файлы. Взять хотя бы сайт rus-phpnuke: где то храниться список залогиненных на данный момент пользователей, и их список выводится в блоке справа "кто на сайте". Никто не мешает сделать подобное, "прикрутив" к этому запрет на многократное "залогинивание" под одним ник-неймом.

Да правильно поняли. В нюке это хранится в $prefix_session. Если чутка доработать, то можно сделать по уму.
zlo
Цитата(KrasivayaSvo @ 27.11.2008, 16:32) *

Да правильно поняли. В нюке это хранится в $prefix_session. Если чутка доработать, то можно сделать по уму.

а отвечает за это дело помоему функция online();
???
KrasivayaSvo
Цитата(zlo @ 27.11.2008, 20:49) *

а отвечает за это дело помоему функция online();
???

Совершенно верно.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2014 Invision Power Services, Inc.