2010-03-24 6 views
7

fand ich heraus, dass, wenn Taste zurück, um es vorherige Seite von Browser-Cache wird, auch wenn ich folgende Header senden:Kann ich den FF3 Back Button Cache deaktivieren?

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 

Antwort

4

abläuft sollte ein Datum + Zeitstempel und Cache-Control "s "must-revalidata" & "max-age sein" könnte genauso gut helfen

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

Eigentlich war die Antwort so einfach. Aber ich möchte andere bewusst machen. Browser cachen keine Seiten, sie cachen Anfragen. Also, wenn Sie eine Seite Test.aspx mit einem Link zu sich selbst haben. Und der Benutzer öffnet zuerst die Seite, klickt dann auf den Link (hier wird kein Cache hinzugefügt) und drückt dann auf die Schaltfläche wird die Seite aus dem Cache abgerufen, weil es zum ersten Mal ohne No-Cache-Anweisung –

+1

heruntergeladen wurde, Browser-Cache-Antworten , die im Allgemeinen Seiten sind, nein? und wenn ich mich nicht irre, wird "no-cache" schon bei der ersten Anfrage im HTTP Response Header sein. – futtta

+1

Sollte auch "Cache-Control: no-store" für Google Chrome enthalten. – ajbeaven

1

Cache-control und solche Dinge nur Browser nicht sagen, zu speichern im Cache die heruntergeladenen Sachen (js, css, Bilder, etc.). Es bezieht sich nicht auf die Geschichte der besuchten Seiten.

Sie sollten nicht versuchen, Browserdaten zu ändern. Stattdessen würden Sie Ereignisse verarbeiten und die Ereignisse stoppen, die auf Ihrer Website nicht auftreten sollen.

+4

Was passiert, wenn ich vertrauliche Daten habe? Sag einen öffentlichen Abstimmungskiosk. Der Benutzer wählt den President-Kandidaten und klickt dann auf "Senden". Jetzt geht der nächste Wähler zum Kiosk, drückt die Taste zurück und sieht, welcher Kandidat der vorherige Benutzer ausgewählt hat, weil der Browser nicht einmal versucht hat, die neueste Version vom Server zu holen und seine aus dem Cache anzuzeigen. Was sollte ich dann tun? –

+2

Es bedeutet, dass sich Ihre App falsch verhält. Transaktionen, Sitzungen und solche Dinge sollen Einschränkungen beim Zugriff auf sensible Daten behandeln. Wenn Webapps sagen "denk daran, deine Session zu schließen", meinen sie das auch! Wenn Ihre App vertrauliche Daten in den Cache des Browsers legt, bedeutet dies, dass Sie eine neue Sicherheitsverletzung öffnen. Einfach und einfach (es sei denn, Sie verschlüsseln es!). Sie können sich nicht auf nicht autorisierte Änderungen an den Daten des Browsers verlassen (per Definition auf der Benutzerseite), um Sicherheit zu gewährleisten. Zu viel wie DRM, alle Sicherheit auf die gleiche Seite. – Alfabravo

1

Für mich die folgende Einstellung in der Kopfzeile gearbeitet?:

Pragma: no-cache

Cache-Control: no-cache, no-store

Gültig bis: 0