Предупреждение: срок действия страницы

Я добавил следующий код на мою главную страницу (Page_Load), поэтому, как только пользователь выйдет из системы, они не смогут использовать кнопку "Назад" , чтобы просмотреть страницу, на которой они были ранее.

Response.Buffer = true;
 Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
 Response.Expires = -1;
 Response.CacheControl = "no-cache";

Проблема заключается в том, что мои пользователи хотят иметь возможность использовать кнопку возврата браузера во время входа в приложение. Когда я комментирую код, чтобы не кэшировать страницы, они могут использовать кнопку "Назад" , но как только они выходят из системы, они могут использовать кнопку "Назад" , чтобы увидеть предыдущую страницу, на которой они были, что создает угрозу безопасности.

Есть ли у кого-нибудь предложения, чтобы они могли использовать кнопку браузера в приложении, но как только они выходят из системы, они не могут вернуться в приложение?

3 ответа

Цель состоит в том, чтобы запретить незарегистрированному пользователю тайно посещать ранее используемый компьютер и видеть, что делает аутентифицированный пользователь? Если последний, то вы должны перенаправить пользователя на страницу выхода, у которой есть window.close(); команда вместе с сильным языком об этом является требованием. Теперь это не чудовищно: IE спросит у пользователя, готовы ли они закрыть приложение, а другие браузеры вообще игнорируют этот запрос. Тем не менее, в правильном виде среды безопасности, я думаю, что это действительно существенное дополнение к вашей политике безопасности - хотя и в первую очередь культурного разнообразия (это помогает членам культуры соблюдать правила).

Если вы хотите, чтобы тип "одноразовое и все закончилось", я боюсь, что блокировка кеша или добавление "window.forward()" на каждую страницу (что предотвращает все использование кнопки "Назад" ) ) является вашим единственным реальным вариантом.

Еще одна вещь: AJAX предоставляет некоторые инструменты, которые также помогают. Вы можете разместить конфиденциальную информацию на панели обновления и запустить javascript для загрузки обновления панели обновления. Поскольку это всегда будет возвращено на сервер, пользователи, не прошедшие проверку подлинности/истекшие, будут отвергнуты. Это довольно значительная рабочая нагрузка, но я думал, что выброшу ее там.


YUI предоставляет возможность легко управлять историей браузера, чтобы программно перенести URL-адреса в историю. Взгляните на менеджер YUI История браузера.

licensed under cc by-sa 3.0 with attribution.