Frage

Ich habe den folgenden Code in meine Masterpage (Page_Load) hinzugefügt, so sobald ein Benutzer abmeldet sie nicht in der Lage sein, die Zurück-Taste verwenden, um zu sehen, die Seite, die sie waren vorher bei.

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

Das Problem ist, meine Nutzer den Browser verwenden Zurück-Taste in der Lage sein wollen, während sie in der Anwendung protokolliert werden. Wenn ich den Code, um nicht zwischenspeichern, die Seiten zu kommentieren sie die Zurück-Taste verwenden, aber sobald sie abmelden können sie die Zurück-Taste verwenden, um die vorherige Seite sehen sie, auf denen ein Sicherheitsrisiko verursacht wurden.

Hat jemand irgendwelche Vorschläge, damit sie den Browser in der Anwendung zurück Taste verwenden kann, aber sobald sie angemeldet sind heraus, dass sie nicht wieder in die Anwendung gehen?

War es hilfreich?

Lösung

Ist das Ziel eine nicht authentifizierte Benutzer zu verhindern, dass verstohlen eine zuvor verwendete Computer zu besuchen und zu sehen, was der authentifizierte Benutzer tat? Wenn letzteres, dann sollten Sie den Benutzer auf eine Logout-Seite umleiten, die eine window.close hat (); Befehl zusammen mit starken Sprache über diese eine Anforderung zu sein . Nun, dies ist nicht gepanzert: IE fragen der Benutzer, wenn sie bereit sind, die App lassen schließen Sie das Fenster und andere Browser die Anforderung ganz ignorieren. Allerdings Umwelt in der richtigen Art von Sicherheit, denke ich, dass es eine bedeutende Ergänzung zu Ihrer Sicherheitspolitik bereitstellt -. Wenn auch von einer in erster Linie kulturellen Vielfalt (es hilft die Mitglieder der Kultur an den Regeln halten)

Wenn Sie möchten, „one-time durch und fertig“ Art der Sicherheits dann Angst, dass ich bin, dass die Cache-Aussperren oder das Hinzufügen von „window.forward ()“ auf jede Seite (was die Nutzung der Zurück-Taste verhindert ) ist die einzige echte Option.

Eine andere Sache: AJAX bietet einige Werkzeuge, die auch helfen. Sie könnten sensible Informationen über ein Update-Panel setzen und die Seite zu laden, haben Javascript ein Update-Panel Refresh auslösen. Da dies immer wieder auf den Server gehen, nicht authentifizierten / abgelaufene Benutzer wird abgewendet. Dies ist eine ziemlich erhebliche Arbeitsbelastung zu nehmen, aber ich dachte, dass ich es werfen würde da draußen.

Andere Tipps

YUI bietet eine Möglichkeit, auf einfache Weise die Geschichte der Browser steuern programmatisch URLs in die Geschichte zu stanzen. Werfen Sie einen Blick auf die YUI Browser History Manager.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top