Очень простой и эффективный способ сделать это, разместив что-то вроде этого в своем разделе HTML HEAD:
<META HTTP-EQUIV="refresh" CONTENT="1800;URL=logout.php?timeout">
Замените logout.php? Timeout на соответствующий скрипт. В приведенном выше примере, если? Timeout находится в строке запроса, я покажу им страницу входа с информацией, указывающей, что они вышли из системы из-за неактивности.
Замените 1800 временем в секундах, которое вы хотите, чтобы они оставались неактивными, прежде чем автоматически выходить из системы. Установите это в то же время, когда у вас установлен срок действия сеанса.
Редактирование. Другой простой механизм, который нужно реализовать, - это иметь переменную сеанса last_time или last_activity или что-то в том же духе и устанавливать для нее метку времени каждый раз, когда происходит активность. В большинстве моих вещей у меня есть общий файл включения, в котором я делаю это. В этом же файле вы можете проверить, что он находится в пределах ограничений, которые вы установили для активного сеанса. Если это было слишком долго - просто перенаправьте 300 на страницу выхода из системы и отобразите там соответствующее сообщение о неактивности.
Удачи!
Ian