Я хочу, чтобы после выхода из системы любой пользователь не смог перейти на страницу Назад. Как я могу это сделать?Как отключить кнопку «Назад» после уничтожения сеанса?
ответ
AFAIK, вы не можете отключить кнопку «Назад» веб-браузера.
Добавьте следующий
"если пользователь вошел в систему"
<% Response.CacheControl = "no-cache" %>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>
Очистить кэш вместо этого, это более надежно.
Добавьте их в свой раздел заголовка страницы:
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="0">
И добавить к вашей странице загрузки:
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Вы можете попробовать не устанавливая не-кэша на страницах, просмотренных авторизованных пользователей , который должен потребовать, чтобы браузер пользователя перезагрузил страницу с сервера.
Нажмите кнопку «Назад» он не делает PageLoad. Итак, как это сделать? – 2009-07-10 06:37:21
Отключить кнопку «Назад» невозможно, отлично. Таким образом, вы можете:
- Закройте окно при выходе из системы.
- На каждой странице проверьте действительный сеанс, а если нет, перейдите на страницу входа.
1. плохое решение 2. не будет работать для кнопки «Назад», так как браузер не делает сообщение на обратной кнопке. –
@rats. вы в основном правы, но по моему опыту сафари делает новый запрос на спине – Midhat
Я не уверен насчет сафари, но IE, FF и Opera не отправляют сообщение, если вы не попросите их не кэшировать. :-) –
Предположим, что я нахожусь на странице, и я нажал кнопку выхода из системы, после чего он ведет меня на страницу входа. Но если я нажимаю кнопку «Назад», то она отображает мне предыдущую страницу и ее значение. Как это остановить? – 2009-07-10 06:35:53
, как ответил Canavar, очистить кеш. Добавьте заголовок кэша. Отредактировал мой пост. –