Предупреждение: срок действия страницы истек - PullRequest
4 голосов
/ 24 декабря 2008

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

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

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

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

Ответы [ 3 ]

2 голосов
/ 24 декабря 2008

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

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

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

0 голосов
/ 06 января 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...