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

FIORD_CMS

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

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

dmitry_stas

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

SeBun

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

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

dmitry_stas

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

Septdir

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

dmitry_stas

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

Septdir

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

dmitry_stas

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

Septdir

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

dmitry_stas

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

capricorn

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

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

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

dmitry_stas

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

Не работает canonical

Автор Zegeberg

Ответов: 16
Просмотров: 615
Последний ответ 25.09.2023, 17:28:04
от web1
Некорректно работает Яндекс Метрика из-за mootools

Автор web_signal

Ответов: 4
Просмотров: 870
Последний ответ 21.06.2023, 23:25:14
от sivers
Модуль для опросов Advanced Poll не работает

Автор Escander

Ответов: 15
Просмотров: 1427
Последний ответ 02.06.2023, 20:10:22
от kzalmatuy1
Не работает 301 редирект

Автор NatFree

Ответов: 2
Просмотров: 485
Последний ответ 28.04.2023, 11:15:08
от fsv
Не работает сайт на локалке

Автор leha111

Ответов: 25
Просмотров: 29611
Последний ответ 23.03.2023, 12:00:55
от Akeksandr