Запрет входа на сайт под одним и тем же логином 2-му пользователю

  • Автор темы Автор темы gramilon
  • Дата начала Дата начала

gramilon

Новичок
Запрет входа на сайт под одним и тем же логином 2-му пользователю

Как запретить вход на сайт под одним и тем же логином 2-му пользователю?

Пока у меня есть 2 варианта:

1. Поставить в фоновое выполнение скриптик (REFRESH), который бы после входа на сайт кидал бы серверу информацию, что пользователь еще на странице, минусы нагрузка на сервер + трафик у клиента

2. отключать 1-го пользователя после входа 2-го, при этом не нужно заботиться ушел 1-й или нет

Какие еще есть варианты?
По поводу отслеживать по IP, а как же быть с людьми которые выходят из локальной сети в интернет
оставлять Куки, а как же тогда быть с разными броузерами на одной машине
 
gramilon

это потвоему похоже на теоретический вопрос?

2 вариатн помоему достаточно адекватный и самый безболезненный в реализации
 
А как же принцип: "Кто первый встал, того и тапки"? Если я зашел, то второй пусть подождет, почему меня должно выкидывать то.
А реализация на мой взгляд такая, фиксировать действие пользователя и записывать время, если прошло скажем более 5 минут и пользователь ничего не сделал, то его сессия убивается и может зайти другой пользователь под тем же логином.
Как вариант, создавать какой-либо файл, например md5($login) и при совершении действия делать просто touch($filename). А потом просто его удалять.
Вариантов много.
 
Автор оригинала: Фанат
потому, что пароль выдавали тебе одному.
тебе доступно значение этого слова?
Далеко не факт, я знаю достаточное количество систем, где логин и пароль выдается группе пользователей, например какой то организации. И все они заходят под одним логином.
 
вот и чудненько.
мы обязательно обсудим проблемы таких организаций, если такие появятся.
а сейчас будь добр покинуть этот топик.
 
Автор оригинала: Фанат
вот и чудненько.
мы обязательно обсудим проблемы таких организаций, если такие появятся.
а сейчас будь добр покинуть этот топик.
Во-первых, посылать меня не надо, а во-вторых, вопрос задал автор поста, я ему привел пример реализации... а в том что ты самый умный никто не сомневается.
 
2. отключать 1-го пользователя после входа 2-го, при этом не нужно заботиться ушел 1-й или нет

_______________

Это найболее эдекватный вариант, тоже внедрял такую вещь тоже была идея проверять если юзер не чего не делает 5 минут убить сессию или затереть временный уникальный ключ - представь себе юзер вышел покурить - попить кофе вернулся за комп жмет ссылку а ему залогиниться :) и так раз 10 за день - седит криша :)
p/s
Раздавать многим юзерам один пароль для одной организации - бок проще завести групу пользователей для данной организации и отслеживать действия как групы так и отдельно пользователя - это на если...
 
Кстати, если использовать HTTPRequest то никакого большого траффика не будет и во время "простоя" сессия будет поддерживаться.
 
alexon, вот ведь, блин, прицепился, как пиявка.
Человек открыл сайт и пошёл пообедать. или вообще ушёл домой. остальные, раз уж ты так заботишься о множественном доступе по одному логину (который здесь нафиг не нужен) - курят в сторонке.
может, хватит уже тупить и лезть с предложениями, которые никому не нужны?
последний раз предупреждаю. По тебе давно мусорка плачет.
 
Не знаю опоздал ли я еще с советом.... потому что я тут вижу скандалы и ссоры. Вот как я про это думаю.

например в базе данных каждому юзверю дать идентификатор 0 и 1
када юзер входит в базе делать 1
потом када такой же юзер попытается войти, спросить этот ЮЗЕР 0 или 1 если 1, сказать сории, такие уже есть.

Помоему так мона.
 
Anton.S
давай с тобой договоримся.
если ты хочешь общаться на этом форуме, то соблюдай, пожалуйста, два правила.
1. не пиши того, что уже писали в топике. Для этого надо топик внимательно читать.
2. постарайся вообще больше читать и меньше писать, до тех пор, пока твоиответы не станут более осмысленными.

Пока ты нарушил оба этих правила.
 
Лично моё мнение надо использовать несколько вариантов одновременно!
Например сессия (5 мин) + куки даже если он пользователь пошёл поесть (по курить, ...) поможет решить проблему с релогинингом.
Или можно просто разграничить по IP. Например устонавливать то что в течении 30 мин после логинига доступ по данному аккаунту будет только с определённого IP. Или для владельцев выделенки сделать связку сделать привязку IP и куков. Даже если он зайдёт с другим IP была бы возможность ввода пароля!

А для 2 доступа... можно сделать так чтобы был 2 пароль для отключения активного пользователя и он высылался бы на E mail зарегестрированого Юзера.
 
gramilon
Реализация варианта, когда система не пускает второго пользователя весьма сложно реализуема. Тут либо java-script должен всевремя проверять наличие открытого броузера у пользователя, либо писать пользователю куки, запускать счетчик каждый раз, как пользователь прошел по ссылке, писать свой собственный обработчик сессий и т.д. Реализация на PHP всегда будет иметь свои негативные ньюансы, как то не пустить первого пользователя после перезагрузки его компа (смена IP, куки отключены) и многое другое. В данном форуме уже не один раз обсуждался этот вопрос. Пользуйся поиском.
 
Сверху