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

H-Tags sollten bei der Erstellung von Webseiten sinnvoll verwendet werden

HTML-Tags haben spezielle Tags zur Handhabung des ...

Verwenden Sie reines CSS, um einen Scroll-Schatteneffekt zu erzielen

Um es gleich auf den Punkt zu bringen: Bei manche...

Vollständiger Prozessdatensatz zur Fehlerbehebung bei MySQL DeadLock

【Autor】 Liu Bo: Leitender Datenbankmanager im Ctr...

TimePicker im Element deaktiviert einen Teil der Zeit (deaktiviert auf Minuten)

Die Projektanforderungen lauten: Datum und Uhrzei...

Ideen und Codes zur Realisierung des Lupeneffekts in js

In diesem Artikelbeispiel wird der spezifische Co...

Die HTML-Eingabedateisteuerung begrenzt den Typ der hochgeladenen Dateien

Fügen Sie der Webseite ein HTML-Steuerelement für...

Zusammenfassung der bei der Arbeit häufig verwendeten Linux-Befehle

Verwenden Sie bei der Arbeit mehr Open-Source-Too...

Docker-Bereitstellungs- und Installationsschritte für Jenkins

Zuerst benötigen wir einen Server mit installiert...