Куки и работа на разных PC.
Предложение в следующем, сделать что-нибудь с куками, чтоб они поддерживали пользователя на разных PC. Например, если я авторизован на форуме на каком-либо, то я и дома и на работе спокойно захожу на страничку и всё нормально. На LS же, если я захожу с другого компьютера, то старая сессия автоматом закрывается и каждый раз приходится авторизироваться заново. Т.е. зашёл дома, ввёл логин/пасс, пришёл на работу, опять сессия отвалилась и приходится вводить логин и пасс.
42 комментария
Сам сегодня заходил с ноута и приходилось снова вводить логин и пасс… Немного неприятно, но не критично…
нет проверки ни на IP, ни на браузер. Просто при авторизации(ввод логина и пароля) ключ сессии перегенерируется и соответственно на прошлом компьютере он перестает работать.
Есть два варианта:
1. посмотреть ключ на одном компе и прописать его на другом, тогда не будет просить авторизацию в течении недели
2. заменить в User.class.php на
P.S. За способ решения проблемы спасибо.
Правильно ли я понимаю, что это фиксаться в официальной ветке git не будет?
define('SYS_COOKIE_HOST','.mysite.ru'); // хост для установки куков. Обязательно с точкой.
Найдите и измените, вторую константу с тем же именем объявлять совершенно не нужно.
У меня LS 0.4.2
Вот кусок из моего cnfig.php
* Настройки куков
*/
$config['sys']['cookie']['host'] = null; // хост для установки куков
$config['sys']['cookie']['path'] = '/'; // путь для установки куков
Не проще ли просто разрешить совпадение по нескольких ключам?
2. При создании новой сессии, если количество сессий достигает 6, трем последнюю.
3. Возможность удалить сессии пользователем
Так не будет слишком большого количество записей в бд и в случае проблем у пользователя с потерей данных аутентификации можно будет их почистить.
а-ля вк:
Сделать можно как душе угодно, я описал свой механизм и не вижу в нем недостатков на данный момент.
Можно обойтись без device. Один браузер — одна кука. Хоть со 100 браузеров логинься заходи.
В каждом браузере через которой залогинился пользователь стоит кука значением которой является ключ по которому ищется запись в бд.
В случае с одной записью получается одинаковое значение ключа куки во всех браузерах.
По user_id, так как 2-х сессий с одним user_id. Кука может быть, например, хэшем сессии + id записи в массиве.
Одна кука на всех браузерах это не мелочи. Авторизировавшись по ней мы можем просто выйти и сама запись о сессии в бд удалиться, в итоге никто так и не узнает кто и когда у нас побывал. А с подстановкой id мы сможем проворачивать тоже самое выбирая какую сессию нам закрыть, но написав 0 мы точно не прогадаем.