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

gramilon

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

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

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

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

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

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

kvf77

Red Devil
gramilon

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

2 вариатн помоему достаточно адекватный и самый безболезненный в реализации
 

alexon

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

alexon

Новичок
Автор оригинала: Фанат
потому, что пароль выдавали тебе одному.
тебе доступно значение этого слова?
Далеко не факт, я знаю достаточное количество систем, где логин и пароль выдается группе пользователей, например какой то организации. И все они заходят под одним логином.
 

Фанат

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

alexon

Новичок
Автор оригинала: Фанат
вот и чудненько.
мы обязательно обсудим проблемы таких организаций, если такие появятся.
а сейчас будь добр покинуть этот топик.
Во-первых, посылать меня не надо, а во-вторых, вопрос задал автор поста, я ему привел пример реализации... а в том что ты самый умный никто не сомневается.
 

texrdcom

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

_______________

Это найболее эдекватный вариант, тоже внедрял такую вещь тоже была идея проверять если юзер не чего не делает 5 минут убить сессию или затереть временный уникальный ключ - представь себе юзер вышел покурить - попить кофе вернулся за комп жмет ссылку а ему залогиниться :) и так раз 10 за день - седит криша :)
p/s
Раздавать многим юзерам один пароль для одной организации - бок проще завести групу пользователей для данной организации и отслеживать действия как групы так и отдельно пользователя - это на если...
 

alexon

Новичок
Кстати, если использовать HTTPRequest то никакого большого траффика не будет и во время "простоя" сессия будет поддерживаться.
 

Фанат

oncle terrible
Команда форума
alexon, вот ведь, блин, прицепился, как пиявка.
Человек открыл сайт и пошёл пообедать. или вообще ушёл домой. остальные, раз уж ты так заботишься о множественном доступе по одному логину (который здесь нафиг не нужен) - курят в сторонке.
может, хватит уже тупить и лезть с предложениями, которые никому не нужны?
последний раз предупреждаю. По тебе давно мусорка плачет.
 

Anton.S

Новичок
Не знаю опоздал ли я еще с советом.... потому что я тут вижу скандалы и ссоры. Вот как я про это думаю.

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

Помоему так мона.
 

Фанат

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

Пока ты нарушил оба этих правила.
 

BlizStrike

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

А для 2 доступа... можно сделать так чтобы был 2 пароль для отключения активного пользователя и он высылался бы на E mail зарегестрированого Юзера.
 

Royal Flash

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