Не разлогинивает при закрытии некоторых браузеров

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
pilum
Сообщения: 4
Зарегистрирован: 2015.11.05, 00:17

Не разлогинивает при закрытии некоторых браузеров

Сообщение pilum »

День добрый!
С удивлением обнаружил, что при снятом флажке "Remeber me" (в этом случае логин выглядит как \Yii:$app->user->identity->login($key->user,0), кука _identity в браузере не появляется) после закрытия/открытия браузера аутентификация не сбрасывается. Это создает опасную ситуацию, если сайтом пользуются компьютера в общественном месте! В качестве эксперимента поставил 'enableAutoLogin' => false и 'autoRenewCookie' => false, это никак не повлияло на проблему.
Ubuntu 14.04 LTS, Yii 2.0.7, PHP 5.5.9-1ubuntu4.14
Браузеры:
Chrome 52.0.2743.116 m (64-bit) Win и 47.0.2526.111 (64-bit) Ubuntu - НЕ разлогинивают оба
FireFox 43.0.4 Ubuntu - НЕ разлогинивает, 48.0 Win - работает правильно
Opera 39.0 Win, opera-stable 39.0.2256.48 Ubuntu - обе работают правильно,
Safari 5.17 Win - работает правильно
IE 10 - работает правильно

Кто-нибудь уже сталкивался? Есть идеи, как побороть?
pilum
Сообщения: 4
Зарегистрирован: 2015.11.05, 00:17

Re: Не разлогинивает при закрытии некоторых браузеров

Сообщение pilum »

И с тех пор ничего не изменилось? Никаких решений не найдено?
Аватара пользователя
Йож
Сообщения: 574
Зарегистрирован: 2015.08.26, 03:05

Re: Не разлогинивает при закрытии некоторых браузеров

Сообщение Йож »

Найдено, нужно ставить expiration time у куков.
pilum
Сообщения: 4
Зарегистрирован: 2015.11.05, 00:17

Re: Не разлогинивает при закрытии некоторых браузеров

Сообщение pilum »

Йож писал(а):Найдено, нужно ставить expiration time у куков.
Задавать время жизни для PHPSESSID? :shock: Какой в этом смысл, если сессия и так на сервере прибъется через 24 минуты без пользовательской активности?
Проблема-то другая: человек логинится, например, с компьютера в общественной библиотеке, сняв флажок "Remember me", работает с сайтом, закрывает браузер и уходит, считая, что разлогинился. Через минуту за тот же комп садиться другой человек, открывает браузер и получает полный доступ к чужому аккаунту!
Вижу полубезумный вариант: сделать время жизни сессии на сервере в 1 минуту и аяксом в фоновом режиме постоянно долбиться! Заодно можно у сервера и последние обновления контента запрашивать. :))) Тогда, через минуту после закрытия браузера, не получив запроса, сервер пользователя разлогинит :).
mader
Сообщения: 84
Зарегистрирован: 2015.06.15, 13:44
Откуда: Воронеж

Re: Не разлогинивает при закрытии некоторых браузеров

Сообщение mader »

pilum писал(а): 2016.08.15, 02:52
Йож писал(а):Найдено, нужно ставить expiration time у куков.
Задавать время жизни для PHPSESSID? :shock: Какой в этом смысл, если сессия и так на сервере прибъется через 24 минуты без пользовательской активности?
А как это сделать?
Чет не получается установить время жизни сессии и куков. Подскажите пожалста..
pilum
Сообщения: 4
Зарегистрирован: 2015.11.05, 00:17

Re: Не разлогинивает при закрытии некоторых браузеров

Сообщение pilum »

mader писал(а): 2017.05.29, 15:23 А как это сделать?
Чет не получается установить время жизни сессии и куков. Подскажите пожалста..
Ну вот же, первая страница поисковой выдачи по запросу "время жизни PHPSESSIONID":
http://loco.ru/materials/229-php-prol
https://habrahabr.ru/post/182352/
Ответить