0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 386 Просмотров
*

FIORD_CMS

  • Захожу иногда
  • 115
  • 3 / 0
У меня есть сомнения в работоспособности параметра "время жизни сессии", установленного в значение 30.
Почему возникли сомнения ? Я вижу, что некоторые зарегистрированные пользователи находятся в статусе online по нескольку дней, а число гостей (незарегистрированных) - сотни (во много раз больше, чем дают счетчики посещений). На основании этого я делаю вывод, что сессии для этих пользователей вообще не прерываются.

Не исключаю, что я чего-то не понимаю. Просьба помочь либо в понимании ситуации либо в ее решении. Спасибо.
« Последнее редактирование: 18.12.2016, 11:11:22 от FIORD_CMS »
*

dmitry_stas

  • Легенда
  • 10560
  • 1019 / 7
Re: Время жизни сессии не работает ?
« Ответ #1 : 16.12.2016, 16:12:55 »
например открыли вкладку в браузере, и не закрывают ее. сессия поддерживается автоматически при этом. 30 минут начнется после закрытия браузера. а число гостей - это боты, большинство из которых которых счетчики вообще не видят
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

SeBun

  • Живу я здесь
  • 3375
  • 214 / 3
  • @SeBun48
Re: Время жизни сессии не работает ?
« Ответ #2 : 16.12.2016, 16:44:21 »
Не вижу причин для паники, хотя доля правды, наверное, есть. Если я зашел на сайт - создается запись в таблице сессий и, собственно, сама сессия. Когда я в следующий раз я запрошу у сервера страницу, и при этом буду авторизован, эта запись просто обновится. Но есть один момент - PHP определяет, какую именно сессию нужно запустить, по имени куки, передаваемом браузером в заголовке запроса, либо по идентификатору сессии в адресной строке. Браузер же, в свою очередь, получает эту куку или идентификатор от сервера, куда его помещает функция session_start(). А теперь камень - если время жизни куки в браузере истекло, он не будет передан в запросе, а значит PHP не сможет определить, какую сессию нужно запустить, и расценит это как создание новой сессии. Таким образом в базе будут висеть открытые ранее сессии. И на высоконагруженных сайтах размер базы будет распухать пропорционально новым запросам к серверу.

Признаться, я не знаю, существует ли механизм удаления таких подвисших сессий, но, как задал вопрос ТС, он не работает. Поэтому самому было бы интересно разобраться в этом вопросе. Если не работает - можно написать плагин или просто отдельный скрипт, который будет запускаться по крону и чистить таблицу сессий по выставленным в админке критериям.
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

dmitry_stas

  • Легенда
  • 10560
  • 1019 / 7
Re: Время жизни сессии не работает ?
« Ответ #3 : 16.12.2016, 16:46:41 »
таблица чистится автоматически.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Septdir

  • Живу я здесь
  • 2738
  • 133 / 3
  • JoomlaZen
Re: Время жизни сессии не работает ?
« Ответ #4 : 16.12.2016, 18:06:42 »
У юзеров еще хранится userid так что тут с дублями проблем нет, что же до гостей, лично авто очистики не видел, но проблем в распуханием таблицы до адовый размеров не было, так что думаю она все же есть.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
Мои Контакты | Мой GitHub | JoomlaZen
*

dmitry_stas

  • Легенда
  • 10560
  • 1019 / 7
Re: Время жизни сессии не работает ?
« Ответ #5 : 16.12.2016, 18:11:50 »
есть есть, не сомневайтесь :) никаких проблем с сессиями в Joomla нет. да и ТС собственно про другое спрашивал.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Septdir

  • Живу я здесь
  • 2738
  • 133 / 3
  • JoomlaZen
Re: Время жизни сессии не работает ?
« Ответ #6 : 16.12.2016, 18:15:57 »
есть есть, не сомневайтесь :) никаких проблем с сессиями в Joomla нет. да и ТС собственно про другое спрашивал.
Нет проблемы есть. Просто они не на каждом сайте, да и не всегда. Помню обновил как-то сайт на 3.x + так он сессию не держал принципиально до сл. обновы.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
Мои Контакты | Мой GitHub | JoomlaZen
*

dmitry_stas

  • Легенда
  • 10560
  • 1019 / 7
Re: Время жизни сессии не работает ?
« Ответ #7 : 16.12.2016, 18:20:08 »
это скорее проблемы индивидуальных особенностей конкретного сайта и конкретного обновления, а не проблемы Joomla :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Septdir

  • Живу я здесь
  • 2738
  • 133 / 3
  • JoomlaZen
Re: Время жизни сессии не работает ?
« Ответ #8 : 16.12.2016, 18:21:46 »
это скорее проблемы индивидуальных особенностей конкретного сайта и конкретного обновления, а не проблемы Joomla :)
Ну на сайте стоит Joomla и обновление Joomla + раньше работало = проблема Joomla
Хотя на самом деле с сесиями частенько проблемы, а писать их логику мозг разрывается.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
Мои Контакты | Мой GitHub | JoomlaZen
*

dmitry_stas

  • Легенда
  • 10560
  • 1019 / 7
Re: Время жизни сессии не работает ?
« Ответ #9 : 16.12.2016, 18:53:38 »
ну ок :) я не спорю, само собой какие то проблемы могут возникать. но просто тут даже вопрос в другом у ТС
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

capricorn

  • Завсегдатай
  • 1746
  • 113 / 3
Re: Время жизни сессии не работает ?
« Ответ #10 : 16.12.2016, 19:34:01 »
это похоже на ожидаемое поведение Joomla для залогинившихся зарегистрированных пользователей которые находятся на странице со стандартной формой логина. если на другой то сессия должна окончиться.

JHtml::_('behavior.keepalive');

http://joomlaforum.ru/index.php?topic=147295.0
*

dmitry_stas

  • Легенда
  • 10560
  • 1019 / 7
Re: Время жизни сессии не работает ?
« Ответ #11 : 16.12.2016, 21:16:20 »
Почему только
Цитировать
для залогинившихся зарегистрированных пользователей которые находятся на странице со стандартной формой логина
? Стандартно keepalive подключается в модуле логина. Т.е. если выведен модуль логина - то сессия поддерживается на любой странице где он выведен. Поддерживается она не только для залогинившихся, а для всех. Но очень часто keepalive подключается вообще кем угодно и где угодно. Например, некоторые интернет-магазины подключают его везде, чтобы товары в корзине не пропали после 15 стандартных минут. И т.д.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отключить сессии для front-end - как сделать плагином?

Автор Matysh

Ответов: 1
Просмотров: 54
Последний ответ 13.12.2017, 18:19:20
от dmitry_stas
Не работает последняя версия 3.8 на OpenServere [РЕШЕНО]

Автор neogod

Ответов: 21
Просмотров: 277
Последний ответ 26.11.2017, 18:56:20
от neogod
В браузере Chrom, не работает главное меню из якорных ссылок

Автор klipius

Ответов: 5
Просмотров: 108
Последний ответ 24.11.2017, 07:33:53
от klipius
Не работает мобильное меню в шаблоне

Автор a2d2

Ответов: 4
Просмотров: 107
Последний ответ 23.11.2017, 12:33:17
от a2d2
Переопределение. Не работает?

Автор fireman

Ответов: 1
Просмотров: 103
Последний ответ 19.11.2017, 01:37:40
от voland