На моем сайте пользователь может войти и оставаться в системе с двух разных браузеров, правильно ли это и чем это может грозить ? На прошлых проектах мне приходилось реализовывать функцию которая позволяла держать активной только одну сессию от одного пользователя. Есть ли какие либо подводные камни когда пользователь одновременно может входит с разных браузеров ? Нужно ли давать пользователю такую возможность или сессия должна быть только одна?
На самом деле все просто, как "фирма Сэлдом". Если есть существенная причина ограничить пользователя всего одной (ну, или как вариант - n) активной сессией - это нужно делать. При этом по возможности пользователю давать выбор какую из уже существующих сессий принудительно завершить. Если возможности нет - самостоятельно "глушить" сессию с самой старой последней активностью.
Если такой существенной причины нет - нет смысла и в ограничении, зачем лишний огород городить?
На практике такое ограничение по активным сессиям я встречал (да и сам писал, чего греха таить) только для ресурсов, предоставляющих доступ на платной основе. Например, платный доступ к видео/аудио архивам, стримам, картам и т.п. Чтобы "халявщики", купив одну подписку на всех, не расшаривали ее на своих сайтах для всех желающих и зарабатывали на рекламе. Как частный случай, встречал ограничение по количеству одновременных сессий для бесплатного доступа к платному сервису. Например, бесплатно можно работать с контентом только с 1 браузера/приставки/телевизора, хочешь с двух одновременно (например, со стационарного компа и с ноутбука или смартфона) - оплати доступ для второй сессии (это имеет смысл, если предоставляется доступ к сервису и в нем есть частное хранилище некоего контента - документов, изображений, файлов и т.п.).
Так что ответы на Ваши вопросы "правильно ли это?" и "Нужно ли давать пользователю такую возможность или сессия должна быть только одна?" никто кроме Вас дать не сможет. Просто потому, что никто из нас не знает нюансов функционирования Вашего сайта. :)
P.S. Если Вас сильно заботит тема безопасности - дайте возможность пользователю в его профиле просмотреть список активных сессий и принудительно завершить их при необходимости.
P.P.S. Вспомнил еще две сферы применения такого подхода к пользовательским сессиям.
Сам в этих областях не писал, но пользовался. :)
P.P.P.S. Иногда имеет смысл ограничивать количество и длительность открытых сессий для определенных категорий пользователей. Например, доступ администратора к админке, кассира/бухгалтера в биллинговой системе, или специалиста по настройке оборудования, работающего удаленно с выездом на территорию клиента. При этом тот же пользователь имеет обычный доступ к основному сайту компани на "общих основаниях" - т.е. без ограничения на количество сессий.
Перед тем, как задавать вопрос по поводу - страшно ли это? Походи по сайтах (любых), и попробуй найти сайт где за два логина (сессии) тебе что-то скажут? Верный ответ: нигде. Никто не боиться этого, т.к. в любом случае, обойти это можно будет всякими VPN-сервисами или же простой сменой прокси-сервера, только лишь усложнишь себе жизнь такой выхоткой.
На счет одновременного логина - то посмотри на Google, у него сотни сайтов используют один аккаунт, и даже в таком случае ему не за что беспокоиться.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
У меня есть таблица с сообщениями, где sender_id указывает кто отослал, а recipient_id указывает кто принял, и есть таблица users, которая содержит инфу...
Я пытаюсь сделать ввод значений для переменной в 1 строку, но ничего не получается
Не пойму почему данные не добовляються в бд, хоть ошибок нет
Представим некую абстрактную страницу, на которой через AJAX, путем запроса к API на PHP выполняются запросы к БДОбновлять данные необходимо 1 раз...