Куки и работа на разных PC.

5
Предложение в следующем, сделать что-нибудь с куками, чтоб они поддерживали пользователя на разных PC. Например, если я авторизован на форуме на каком-либо, то я и дома и на работе спокойно захожу на страничку и всё нормально. На LS же, если я захожу с другого компьютера, то старая сессия автоматом закрывается и каждый раз приходится авторизироваться заново. Т.е. зашёл дома, ввёл логин/пасс, пришёл на работу, опять сессия отвалилась и приходится вводить логин и пасс.
  • +1
  • 21 сентября 2009, 12:24
  • Lesso

Комментарии (21)

RSS свернуть / развернуть
Подтверждаю.
Сам сегодня заходил с ноута и приходилось снова вводить логин и пасс… Немного неприятно, но не критично…
0
  • avatar
  • Mmka
  • 21 сентября 2009, 15:41
Сессии хранятся в базе — генерация уникального ключа на основе IP, браузера. Проверка куков с генернированным ключом сессии в браузере. Если IP или браузер или ключ открытой сессии не совпадают — выкидывает.
0
не нужно сочинять
нет проверки ни на IP, ни на браузер. Просто при авторизации(ввод логина и пароля) ключ сессии перегенерируется и соответственно на прошлом компьютере он перестает работать.
Есть два варианта:
1. посмотреть ключ на одном компе и прописать его на другом, тогда не будет просить авторизацию в течении недели
2. заменить в User.class.php
$sKey=md5(func_generator().time().$oUser->getLogin());
на
$sKey=md5($oUser->getLogin().'_'.$oUser->getPassword());
+2
  • avatar
  • ort
  • 21 сентября 2009, 17:50
Вопрос собственно не в том был, как сделать, а в том, «может быть стоит сделать в новой версии новый вариант сессии для большего удобства пользователям?» или это только мне кажется более удобным?
P.S. За способ решения проблемы спасибо.
0
это сделано в целях безопасности, при краже куков достаточно будет перезалогиниться и злоумышленник в пролете
0
  • avatar
  • ort
  • 21 сентября 2009, 18:58
А если бы куки привязывались к подсети, вообще отлично было бы
0
Почти так как я сказал.
0
Пардон за банальный вопрос, но как сделать, чтобы не приходилось перелогиниваться при входе на mysite.ru и www.mysite.ru?
0
в конфиге хост куков сделать '.mysite.ru'
0
Опередил :)
0
Прописать в /config/config.php;

define('SYS_COOKIE_HOST','.mysite.ru'); // хост для установки куков. Обязательно с точкой.
0
спасибо большое!
0
а прописать в любом месте config.php?
0
А там есть уже define('SYS_COOKIE_HOST', null);.
Найдите и измените, вторую константу с тем же именем объявлять совершенно не нужно.
0
Да я уже разобрался спасибо!
0
Опять вопрос, теперь со входом на сайт с www и без всё нормально так вот при каждом заходе при изменении ip сбрасываются куки что делать?
0
Можно поподробней, куда прописать нужно define('SYS_COOKIE_HOST','.mysite.ru'); // хост для установки куков. Обязательно с точкой.

У меня LS 0.4.2

Вот кусок из моего cnfig.php

* Настройки куков
*/
$config['sys']['cookie']['host'] = null; // хост для установки куков
$config['sys']['cookie']['path'] = '/'; // путь для установки куков
0
$config['sys']['cookie']['host'] = '.mysite.ru';
0
Спасибо, но все равно не могу залогиниться на сайте, если url начинается с www....
0
Попробуйте сбросить куки в браузере.
0
Не получается — пробовал и кэш сбрасывал через админку…
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.