Verhindern Sie, dass HTML- und JSP-Seiten zwischengespeichert und erneut vom Webserver abgerufen werden.

Verhindern Sie, dass HTML- und JSP-Seiten zwischengespeichert und erneut vom Webserver abgerufen werden.
Wenn der Benutzer sich abgemeldet hat und im Browser auf die Zurück-Schaltfläche geklickt wird, kann die Webanwendung die geschützte Seite nicht richtig schützen. Nachdem die Sitzung beendet wurde (der Benutzer sich abgemeldet hat), wird die geschützte JSP-Seite erneut im Browser angezeigt.
Wenn der Benutzer jedoch auf einen beliebigen Link auf der Rückkehrseite klickt, springt die Webanwendung zur Anmeldeseite und meldet, dass die Sitzung beendet wurde. Bitte melden Sie sich an.

Die Ursache des oben genannten Problems liegt darin, dass die meisten Browser über eine Zurück-Schaltfläche verfügen.

Wenn Sie auf die Zurück-Schaltfläche klicken, ruft der Browser die Seite standardmäßig nicht erneut vom Webserver ab, sondern lädt sie aus dem Browser-Cache.

Bei Java-basierten Webanwendungen besteht keine Einschränkung dieser Funktion, und bei Webanwendungen auf Basis von PHP, ASP und .NET besteht dieses Problem ebenfalls.
Glücklicherweise bieten die HTTP-Header „Expires“ und „Cache-Control“ Anwendungsservern einen Mechanismus zur Steuerung des Caching in Browsern und Proxyservern.

Der HTTP-Header „Expires“ teilt dem Proxyserver mit, wann seine zwischengespeicherte Seite abläuft.
Mit der neu definierten Header-Information Cache-Control in der HTTP1.1-Spezifikation kann der Browser angewiesen werden, keine Seiten im Cache zu speichern.

Wenn Sie auf die Zurück-Schaltfläche klicken, greift der Browser erneut auf den Server zu, um die Seite abzurufen.

Hier ist die grundlegende Methode zur Verwendung von Cache-Control:
1) no-cache: Erzwinge Cache, um neue Seiten vom Server zu erhalten
2) no-store: Unter keinen Umständen Seiten im Cache speichern

Um auf Nummer sicher zu gehen, fügen Sie am besten sowohl der HTML-Seite als auch der JSP einige Einstellungen hinzu

Fügen Sie für HTML-Seiten Folgendes hinzu:

Code kopieren
Der Code lautet wie folgt:

<meta HTTP-EQUIV="pragma" CONTENT="kein-cache">
<meta HTTP-EQUIV="Cache-Steuerung" CONTENT="kein Cache, muss erneut validiert werden">
<meta HTTP-EQUIV="läuft ab" CONTENT="0">

Fügen Sie für JSP-Seiten Folgendes hinzu:

Code kopieren
Der Code lautet wie folgt:

<%
response.setHeader("Cache-Steuerung","kein Speicher");
response.setHeader("Pragrma","kein Cache");
response.setDateHeader("Läuft ab",0);
%>

Das ist es.

<<:  Detaillierte Erläuterung der kostenlosen AWS-Serveranwendung und des Tutorials zur Einrichtung eines Netzwerkproxys

>>:  HTML/CSS (der erste Leitfaden, den Anfänger unbedingt lesen sollten)

Artikel empfehlen

MySQL 5.7.17 Installations- und Konfigurations-Tutorial unter CentOS6.9

CentOS6.9 installiert Mysql5.7 zu Ihrer Informati...

Ausführliches Tutorial zur Installation und Konfiguration von MySQL 8.0.20

In diesem Artikel finden Sie eine ausführliche An...

Vue implementiert einen visuellen Drag-Page-Editor

Inhaltsverzeichnis Drag & Drop-Implementierun...

So sichern und wiederherstellen Sie die MySQL-Datenbank, wenn sie zu groß ist

Befehl: mysqlhotcopy Dieser Befehl sperrt die Tab...

Detaillierte Erklärung der MySQL-Berechtigungssteuerung

Inhaltsverzeichnis MySQL-Berechtigungskontrolle B...

Erfahrungsaustausch zur Reparatur von MySQL InnoDB-Ausnahmen

Eine Reihe von MySQL-Bibliotheken zum Testen. Die...

Schritte zum Erstellen eines Vite-Projekts

Inhaltsverzeichnis Vorwort Was macht Yarn Create?...

Was sind HTML-Inline-Elemente und Block-Level-Elemente und ihre Unterschiede

Ich erinnere mich an eine Frage, die der Intervie...

So installieren Sie Nginx an einem bestimmten Ort im Centos-System

Wie installiere ich Nginx an einem bestimmten Ort...

HTML als Startseite festlegen und zu Favoriten hinzufügen_Powernode Java Academy

So implementieren Sie die Funktionen „Als Startse...