Проблема со всеми этими решениями, хотя и правильная, но она нецелесообразна, если учитывать ценный набор времени ожидания сеанса, используя PHP, .NET или в файле Application.cfc для разработчиков Coldfusion. Время, установленное вышеупомянутым решением, должно синхронизироваться с тайм-аутом сеанса на стороне сервера. Если они не синхронизируются, вы можете столкнуться с проблемами, которые просто разочаруют и запутают ваших пользователей. Например, время ожидания сеанса на стороне сервера может быть установлено равным 60 минутам, но пользователь может полагать, что он / она безопасен, поскольку захват времени простоя JavaScript увеличил общее количество времени, которое пользователь может провести на одной странице. Пользователь, возможно, провел время, заполняя длинную форму, а затем отправляет ее. Тайм-аут сеанса может наступить до обработки отправки формы. Я стараюсь дать своим пользователям 180 минут, а затем использую JavaScript для автоматического выхода из системы. По сути, с использованием некоторого кода выше, чтобы создать простой таймер, но без захвата части события мыши. Таким образом, время на стороне клиента и сервера отлично синхронизируется. Не возникает путаницы, если вы показываете время пользователю в своем пользовательском интерфейсе, так как оно сокращается. Каждый раз, когда в CMS осуществляется доступ к новой странице, сеанс на стороне сервера и таймер JavaScript сбрасываются. Просто и элегантно. Если пользователь остается на одной странице более 180 минут, я думаю, что с этой страницей что-то не так, во-первых.