У меня есть веб-сайт, и в настоящее время я передаю тайм-аут на стороне клиента, который использует Javascript, поэтому я не делаю никаких запросов, я выхожу из системы, но я видел людей на SO, предлагающих такой же подход, и я вижу большой Если предположить, что у пользователя есть две открытые вкладки.
Tab 1:
www.MYSITE.com/welcome.php
Tab 2:
www.MYSITE.com/edit_profile.php
Теперь, если пользователь находится на вкладке 2 и редактирует там профиль, вкладка 1 находится в режиме ожидания, что означает, что пользователь выйдет из системы / отобразит предупреждение (как вы обрабатываете время простоя).
Так что это не кажется последовательным, по моему мнению, это должно быть на стороне сервера, мой подход правильный?
Один из способов может быть,
В случае Ajax, всякий раз, когда вы отправляете какой-либо запрос на сервер, на сервере вы можете проверить, истек ли сеанс, используя isset($_SESSION['variable'])
отправить ответ SESSION_TIMEOUT
& затем в обратном вызове Ajax, проверьте этот ответ.
Если это найдено, покажите пользователю сообщение ‘SESSION expired!’ & перенаправить на начальную страницу (может быть страница входа).
Других решений пока нет …