Ответ 1
Здесь полезное руководство по кешированию браузера.
Вы хотите установить заголовки даты кеша и даты истечения срока действия (установка даты в прошлом), например
Cache-Control: no-cache
Expires: Fri, 31 Dec 1998 12:00:00 GMT
В обычном веб-приложении w/login и secure data, что является простым способом защитить эти данные и предотвратить его видимость с помощью кнопки возврата браузера, как только пользователь выйдет из системы?
Здесь полезное руководство по кешированию браузера.
Вы хотите установить заголовки даты кеша и даты истечения срока действия (установка даты в прошлом), например
Cache-Control: no-cache
Expires: Fri, 31 Dec 1998 12:00:00 GMT
Хотя есть некоторые очень разумные решения для этого (заголовки управления кешем, javascript и т.д.), вам нужно понять, что, как только вы отправили что-то клиенту, он не под вашим контролем. Вы не можете гарантировать, что клиент будет обрабатывать данные так, как вам хотелось бы.
Например:
Извините: (
Заголовки управления кэшем (Expires, Cache-Control, ETag) обычно предотвращают кеширование страницы, заставляя браузер запрашивать новую копию, после чего вы можете проверить статус сеанса. Иногда их игнорируют в интересах "производительности".
Существует два подхода Javascript, которые могут вам помочь:
Оба из них, вероятно, будут иметь довольно ужасный эффект на юзабилити, хотя.
Установите заголовки кеширования для запрета любого кэширования страницы. Это должно предотвратить даже отображение самой страницы, когда пользователь нажимает кнопку "Назад", если они не вошли в систему.
Я пробовал этот код VB.NET в IE и Firefox.
Response.Cache.SetAllowResponseInBrowserHistory(False) Response.Cache.SetCacheability(HttpCacheability.NoCache) Response.Cache.SetNoStore() Response.Expires = 0
Это трюк, но я согласен с другими ответами, где вы не можете гарантировать, что будет вести себя клиентский браузер.
В зависимости от вашего решения для входа в систему (SSO - Windows Live/OpenID vs homegrown, где хранится информация для входа и т.д.). Поскольку "назад" обычно не запрашивает страницу снова, я предлагаю очистить формы в JavaScript (OnLoad). На стороне сервера вы можете заполнить их (Page_Load). Очистите сеанс и viewstate при выходе из системы.