Так вот в чем проблема.Когда пользователь выходит из моего сайта, он может нажать кнопку «Назад» и продолжить пользоваться сайтом.Чтобы отслеживать, вошел ли пользователь в систему или нет, я создал атрибут сеанса «isActive».Атрибут имеет значение true, когда пользователь входит в систему, и (избыточно) удаляется непосредственно перед тем, как сеанс становится недействительным при выходе из системы.Также на каждой странице я проверяю, присутствует ли атрибут.
Я также указываю, что страницы не должны кэшироваться в их тегах head.
Несмотря на это, пользователи все еще могут нанести ответный удар по браузеруи продолжайте использовать сайт, как будто они никогда не выходили из системы.
Есть идеи, как это исправить?
Вот код:
Сервлет входа в систему:
...
session.setAttribute("isActive", true);
//Redirect to home page.
Проверка зарегистрированного JSP:
<c:if test='${empty sessionScope.isActive || sessionScope.isActive != true}'>
<c:redirect url="/index.jsp?message=Session Timed Out."/>
</c:if>
Сервлет выхода из системы:
request.getSession().removeAttribute("isActive");
request.getSession().invalidate();
response.sendRedirect("index.jsp");
Внутренняя метка:
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="Sat, 01 Dec 2001 00:00:00 GMT">
Спасибо