@epifanova1984

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

Здравствуйте, все кто выбрал время для прочтения моего поста. Прошу помочь начинающему в PHP - программировании. Столкнулся с такой проблемой: не могу написать скрипт для входа на сайт. Готовых скриптов много, сделаны разными способами от примитивных до применения ООП с много ролевым распределением привилегий. Но они не решают, казалось бы простую задачу: как исключить присутствие на сайте двух пользователей с одним и тем же логином и паролем? Нашел всего два скрипта где это прописано, идея простая, заносить в базу данных id текущей сессии пользователя, если заходит новый с такими же логином и паролем, id сессии перезаписывается в то же поле базы данных и предыдущего товарища выбрасывает при ближайшем обращении к сайту. На практике никого выбросить мне не удалось, что странно - вроде по коду должен был вылететь. Но сам идея не нравится - не хотелось бы никого выбрасывать, можно просто не пускать желающего, объяснив ему, что плацкарта уже занята. Подскажите, как это сделать? К сожалению общие советы, типа: возьми запиши текущую сессию в базу, а потом проверь занята ли ячейка в базе, мне не помогут, т.к. еще не настолько силен в написании кодов, что бы реализовать их практически. Вот разобраться как работает готовый код уже смогу, если не слишком навороченный или подробно расписанный, что и как. Вот понимаю, что нужно взять готовый скрипт и чуток внести доработки, несколько строк, но умения пока не хватает. Профи, уделите пару минут, снизойдите до новичка, покажите как надо-то. Заранее благодарен.
  • Вопрос задан
  • 1010 просмотров
Пригласить эксперта
Ответы на вопрос 2
kaiten
@kaiten
Архитектор ИС
Плохая идея не пускать, вы ограничиваете пользователя. Человек зашёл на работе на сайт, дома уже не зайдёт...

Адекватный вариант выкидывать пользователя в старых местах и пускать в новых.
Ответ написан
KarleKremen
@KarleKremen
Игнорирую Bootstrap
Создайте новую таблицу в мускуле, для сессий. В ней храните ИД сессии и хеш нужных вам данных, IP, например. При входе перезаписывайте. При каждой проверке сессии на сайте обращайтесь к этой таблице и проверяйте. Если данные не совпадают - все, вылет
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы