2010-03-24 16 views
7

I okazało się, że po naciśnięciu przycisku wstecz robi poprzednią stronę z pamięci podręcznej przeglądarki, nawet jeśli wyślę następujące nagłówki:Czy mogę wyłączyć pamięć podręczną przycisków skrótów FF3?

Test1.aspx

Server    ASP.NET Development Server/9.0.0.0 
Date   Wed, 24 Mar 2010 17:49:40 GMT 
X-AspNet-Version 2.0.50727 
Location   Test2.aspx 
Cache-Control no-cache, no-store 
Pragma   no-cache 
Expires   -1 
Content-Type text/html; charset=utf-8 
Content-Length 189 
Connection   Close 

Odpowiedz

4

wygasa powinna być data + znacznik czasu i cache-control "s "must-revalidata max-age" & "" może pomóc także

Expires: Wed, 11 Jan 1984 05:00:00 GMT 
Cache-Control: no-cache, must-revalidate, max-age=0 
+0

Właściwie odpowiedź była prosta. Ale chcę znać innych. Przeglądarki nie buforują stron, buforują żądania. Więc jeśli masz jedną stronę Test.aspx z jednym linkiem do siebie. Użytkownik najpierw otwiera stronę, a następnie klika łącze (tutaj nie jest dodawana żadna pamięć podręczna), a następnie naciśnie przycisk Wstecz, strona zostanie pobrana z pamięci podręcznej, ponieważ po raz pierwszy została pobrana bez dyrektywy braku pamięci podręcznej –

+1

również, odpowiedzi pamięci podręcznej przeglądarek , które w ogólności są stronami, nie? i jeśli się nie mylę, "no-cache" będzie już w nagłówku odpowiedzi http nawet na pierwsze żądanie. – futtta

+1

Powinny również zawierać 'Cache-Control: no-store' dla Google Chrome. – ajbeaven

1

Cache-Control i takie rzeczy tylko powiedzieć przeglądarka nie zapisać w pamięci podręcznej pobranych rzeczy (js, css, obrazy itp.). Nie odnosi się do Historii odwiedzanych stron.

Nie należy próbować modyfikować danych przeglądarki. Zamiast tego obsługiwałeś wydarzenia i zatrzymywałeś te, których nie chcesz wykonywać w Twojej witrynie.

+4

Co się stanie, jeśli dane są poufne. Powiedz w publicznym kiosku głosowania. Użytkownik wybiera kandydata na prezydenta, a następnie klika przycisk Wyślij. Teraz następny wyborca ​​udaje się do kiosku, naciska przycisk Wstecz i widzi, co kandydat wybrał poprzedni użytkownik, ponieważ przeglądarka nawet nie próbowała pobrać najnowszej wersji z serwera i wyświetliła jego zawartość z pamięci podręcznej. Więc co powinienem zrobić? –

+2

Oznacza to, że Twoja aplikacja zachowuje się nieprawidłowo. Transakcje, sesje i tego rodzaju rzeczy mają za zadanie ograniczać dostęp do poufnych danych. Kiedy widzowie mówią "pamiętaj, aby zamknąć sesję", mają na myśli! Ponadto, jeśli aplikacja umieszcza poufne dane w pamięci podręcznej przeglądarki, oznacza to, że otwierasz nowe naruszenie bezpieczeństwa. Proste i proste (chyba, że ​​je szyfrujesz!). Nie można polegać na nieautoryzowanych modyfikacjach danych przeglądarki (z definicji jest ona po stronie użytkownika) w celu zapewnienia bezpieczeństwa. Za dużo jak DRM, stawiając wszystkie zabezpieczenia po tej samej stronie. – Alfabravo

1

Dla mnie następujące ustawienia w nagłówku pracował?:

Pragma: no-cache

cache-Control: no-cache, no-store

Wygasa: 0

Powiązane problemy