Русский English Тэги View Sergey Zolotaryov's profile on LinkedIn Вход
Как заставить IE не кэшировать страницы
Постоянная ссылка 25-04-2008 anydoby java

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

Единственное отличие первой страницы от всех остальных только в том, что человек на нее попадает после логина через redirect. Перепробовал все хэдеры HTTP ответов, какие только можно, убивающие кэш. И ничего не помогало. В конце концов методом тыка нашел-таки заветный:


    response.addHeader("Cache-Control", "no-cache");
    response.addHeader("Cache-Control", "no-store");
    response.addHeader("Cache-Control", "private");
    response.addHeader("Pragma", "no-cache");
    response.setDateHeader("Expires", -1);

Теперь IE не кэширует защищенные странички.

Добавить комментарий

Предыдущая статья Простой пейджинг с JSP Следующая статья Как узнать, кто наделал OOM