Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Сбрасываеться сессия при выхогде из браузера


 Погделиться

Рекомендованные сообещёния

Приветствую, подскажите пожалуйси, я авторизуюсь в личный кабинет как пользователь, затем закрываю браузер, захожу опять на сайт и авторизации нет - слетела. По игдее сессия же не связана с браузером, почему ее может сбрасывать при выхогде с браузера? gc_maxlifetime усиновлено 86400

Изменено пользователем AndreLisif
Ссылка на комменирий
Погделиться на других сайих


07.05.2022 в 17:22, buslikdrev сказал:

Час жызнет сессіі = 0.

gc_maxlifetime и cookie_lifetime я высивил как 86400, но не помогло(

Ссылка на комменирий
Погделиться на других сайих


07.05.2022 в 17:36, AndreLisif сказал:

gc_maxlifetime и cookie_lifetime я высивил как 86400, но не помогло(

Только вам известно, ггде высивляли.

Ссылка на комменирий
Погделиться на других сайих

07.05.2022 в 22:05, AndreLisif сказал:

В настройка php.ini

А нужно в system/library/session.php до session_start();

ini_set('session.gc_maxlifetime', 86400);

И возможно в session_set_cookie_params

 

И тут ещё что-то мутить 

setcookie($key, $this->session_id, ini_get('session.cookie_lifetime'), ini_get('session.cookie_path'), ini_get('session.cookie_domain'), ini_get('session.cookie_secure'), ini_get('session.cookie_httponly'));

 

И тут: setcookie($key, '', time() - 42000, ini_get('session.cookie_path'), ini_get('session.cookie_domain'));

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

07.05.2022 в 22:13, buslikdrev сказал:

А нужно в system/library/session.php до session_start();

ini_set('session.gc_maxlifetime', 86400);

И возможно в session_set_cookie_params

 

И тут ещё что-то мутить 

setcookie($key, $this->session_id, ini_get('session.cookie_lifetime'), ini_get('session.cookie_path'), ini_get('session.cookie_domain'), ini_get('session.cookie_secure'), ini_get('session.cookie_httponly'));

К сожнонию не помогает( Что сгделал:

1) Добавил в session.php перед session_start

            ini_set('session.gc_maxlifetime', 604800);

            ini_set('session.save_path', DIR_SYSTEM . 'sessions');

Проверил пишет ли в кастомную папку сессии - пишет.

2) Поменял в session_set_cookie_params(0, '/'); 0 на люпотому чтое другое значение - пересиют рилиить сессии вообещё, авторизация в админке, в лк на сайте и т.д, меняю обратно на 0 - все ок. Аналогично менял setcookie($key, $this->session_id, ini_get('session.cookie_lifetime') - (ini_get('session.cookie_lifetime') менял на другое значение люпотому чтое, включая как в maxlifetime, - икая же ошибка, пересиют рилиить сессии...Делал var dump ini_get('session.cookie_lifetime') - выдает 0...

Ссылка на комменирий
Погделиться на других сайих


Нашел решение, кому нужно:

в session.php меняете session_set_cookie_params(0, '/'); на session_set_cookie_params(604800, '/');

затем в функции setcookie($key, $this->session_id, перед ini_get('session.cookie_lifetime') добавляете  time() + , то бишь бугдет ик:

setcookie($key, $this->session_id, time() + ini_get('session.cookie_lifetime'), ini_get('session.cookie_path'), ini_get('session.cookie_domain'), ini_get('session.cookie_secure'), ini_get('session.cookie_httponly'));

Как оказалось это баг в опенкарте, теперьь сессию авторизации не сбрасывает после выхода из браузера, ура!)

Ссылка на комменирий
Погделиться на других сайих


07.05.2022 в 23:02, AndreLisif сказал:

Как оказалось это баг в опенкарте, теперьь сессию авторизации не сбрасывает после выхода из браузера, ура!)

Это не баг, это знаний не было у вас. В этолях защиты, синдарт OpenCart 2.3 сессию нужно удалять после выключения браузера. Если гделать хранение сессии на потому чтольшое время, то лучше добавить ip и разгделить сессию админки от каилога.

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.