За исключением времени ожидания для ваших сессий - не совсем. Единственный способ, который приходит на ум - это JavaScript-событие onbeforeunload
, которое срабатывает, когда пользователь покидает текущую страницу, но это событие не знает , куда направляется пользователь. Однако вы можете, если вы действительно хотите это сделать, возможно построить что-то на основе следующего хакерского обходного пути (не проверено):
устанавливает событие onbeforeunload
, которое отправляет вызов AJAX на ваш сервер. (Как это сделать успешно - чтобы вызов проходил до закрытия страницы - это отдельная проблема, поиск «onbeforeunload ajax» в SO должен дать некоторые результаты.
При вызове Ajax начнется обратный отсчет, сообщающий, что сеанс этого пользователя вот-вот умрет, скажем, через пятнадцать секунд.
Если пользователь покидает ваш сайт, применяется обратный отсчет.
Если пользователь переходит на другую страницу вашего сайта, вы отключаете обратный отсчет времени при переходе на следующую страницу.
Вероятно, это будет шатко, потому что может случиться, что Ajax-запрос начиная с обратного отсчета поступит на сервер после того, как следующая страница уже устранит этого отсчета. Но если вам действительно нужно это сделать, это может быть направление. Разумеется, работает только для пользователей с включенным JS.