• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Internet Explorer Cache Problem bei Session Timeout

casi91

New member
Hallo Community,
ich habe eine Weboberfläche erstellt, die durch einen vorgelagerten Login zu erreichen ist.
Das session-Management ist Serverseitig relisiert.
(Server: Apache; AuthType "form"; AuthFormProvider "dbd")

Nun habe ich auf den Server konfiguriert, dass nach 30 Minuten die Session abgelaufen sein soll.
Das Funktioniert auch einwandfrei...bis auf den Internet Explorer.

Sind die 30 Minuten abgelaufen und man aktualisiert die Seite (F5), wird die gerade dargestellte Seite erneut angezeigt, jedoch ohne die entsprechende CSS (auf die wegen der abgelaufenen Session kein Zugriffsrecht mehr besteht)
Drückt man nun ein zweites mal F5, wird die Login-Seite aufgerufen (das ist das gewünschte Verhalten)

Hat jemand eine Erklärung dafür, warum beim ersten mal aktualisieren die Seite nochmal versucht wird an zu zeigen?
Ich vermute mal, dass es etwas mit dem Caching vom IE zu tun hat.
In allen anderen Browsern funktioniert es einwandfrei -> Firefox, Opera, Chrome

Ich hoffe mein Problem ist verständlich und vielleicht kann mir ja jemand helfen :icon7:
 
Kannst du uns mal einen Testlink geben? So ohne etwas Konkretes zu sehen kann das alles Mögliche sein.
 
Leider hab ich kein konkretes Beispiel.
Aber das Problem besteht immer noch. Vielleicht bekomm ich irgendwie ein Beispiel zusammen gebastelt
 
Leider hab ich kein konkretes Beispiel.
Aber das Problem besteht immer noch. Vielleicht bekomm ich irgendwie ein Beispiel zusammen gebastelt
Aber wenn das Problem immer und nicht nur sporadisch auftritt kannst du uns doch einfach mal als Testuser anlegen, dann kann - wer will und einen IE hat - sich anmelden und den Browser im Hintergrund ablaufen lassen und dann F5 drücken, um das Problem zu sehen, oder nicht?
 
Jetzt bin ich komplett iritiert...
ich war gerade dabei einen testbenutzer und testordner zu erstellen um das Problem nach zu bauen und euch entsprechend einen Link geben zu können...und jetzt bekomme ich das Problem nicht nachgebaut...
Mein vorgehen war:
-> neuen benutzer angelegt mit neuem kz um zu wissen in welchen ordner er schauen darf
-> kopieren der ganzen Seite (wo der fehler auftritt) in den Ordner (wollte hier später noch inhalte entfernen, die nicht für jeden Sichtbar sein sollen)
-> kopieren der Serverkonfiguration und lediglich abändern des Verzeichnisses in dieser konfiguration
-> SessionMaxAge in diesem Verzeichnis auf 5 Sekunden setzen
-> neustart server

so, dann war alles bereit. Wenn ich mich mit dem Testbenutzer eingelogt habe, kam ich in mein Testverzeichnis
nachdem ich dann F5 gedrückt habe...trat das gewünschte verhalten auf -.-"
Da ich wirklich nur copy/paste gemacht habe, weiß ich gerade nicht an welcher Stelle ich suchen soll um heraus zu finden, woran es liegt...
 
nachdem ich dann F5 gedrückt habe...trat das gewünschte verhalten auf -.-"
Sowas ist ekelhaft.
Tritt der Fehler denn im Ursprungsverzeichnis mit einem Benutzer mit diesen 30 Minuten noch auf?
Dann versuch doch mal, für den Testuser wirklich alles gleich zu machen, auch die 30 Minuten.
 
Habs doch gerade nachgestellt bekommen. Wenn man eine ebene tiefer geht, passiert der Fehler auch im Testverzeichnis.
Werde das ganze nun noch vorbereiten (sprich die Daten die nicht gesehen werden sollen entfernen) und dann den Link schicken
 
So,
nun hab ich endlich alle Stellen abgeändert. Hatte noch eine Stelle, die nicht genau gleich mit dem original war. Nun tritt der Fehler auch auf der Hauptseite auf.
Es sieht so aus, als würde es an meiner Konfiguration am server liegen, oder einer Seite die ich in diesem Bereich einbinde.
Ich habe diese Konfiguration um den Benuter ein zu loggen:

Code:
<Location /logintest>
	SetHandler form-login-handler
	AuthFormLoginRequiredLocation /loginfail.php?location=/testzugang
	AuthFormLoginSuccessLocation /testzugang/index.php
	# core authentication and mod_auth_basic configuration
	# for mod_authn_dbd	

	AuthType form 
	AuthName "Server"
	AuthFormProvider dbd
	Session On 
	SessionCryptoPassphrase sreecwraetasdf
	SessionCookieName session path=/ 
	#SessionHeader X-Replace-Session

  	# don't require user to already be logged in!
    	AuthDBDUserPWQuery "SELECT pw FROM tbl WHERE user= %s"

    	# dbd-login action executes a statement to log user in
    	Require dbd-login
    	AuthzDBDQuery "UPDATE tbl SET login = 'true' WHERE user= %s"

    	# return user to referring page (if any) after
   	# successful login
    	AuthzDBDLoginToReferer On
</Location>

zuvor hatte ich versehentlich noch eine andere Location beim login gehabt. Was aber auch dazu geführt hat, dass ich mich (auch wenn ich es noch nicht ganz verstehe) 2 mal einloggen musste.
 
Zuletzt bearbeitet von einem Moderator:
ich weiß einfach nicht woran es liegen könnte....
vorallem weil es in den anderen Browsern funktioniert..
 
Dann bleibt noch die Möglichkeit, uns einen Testuser einzurichten. kkapsner fällt bestimmt was auf, wenn er drauf schaut.
Der muss aber erstmal aus dem Baggerloch wieder auftauchen heute bei den Temperaturen :)
 
Wie sehen denn die Expire-Header der HTML-Seite aus?

Aber ein Testzugang wäre auf jeden Fall hilfreich zum helfen.
 
Hier mal ein Testzugang:
https://support.rewasoft.de/testzugang
User: test@test.de
PW: test123

es wird ein selbst signiertes zertifikat genutzt. Also die Meldung einfach bestätigen.
(derzeit ist SessionMaxAge auf 5 Sekunden eingestellt. Wenn ihr dann F5 drückt, seht ihr dass die Formatierung verschwindet. Beim nächsten F5 seid ihr dann wieder auf der Login-Seite)
 
Das Login funktioniert irgendwie gerade nicht - der Server antwortet nicht auf den login.

EDIT: OK - jetzt kommt ein 500 Internal Server Error.
 
Hmm seltsam...
vielleicht hat der Server sich ohne mein Wissen neugestartet (update oder ähnliches)
Ist zurzeit aber wieder erreichbar
 
Als erstes ist mir das aufgefallen nach dem Login:
Meldung: Das Objekt unterstützt die Eigenschaft oder Methode "FeedEk" nicht
Zeile: 2
Zeichen: 1
Code: 0
URI: https://support.rewasoft.de/testzugang/supportcenter/loadscripts.js

Und wegen des Logouts sehe ich im IE, dass die /testzugang/test/css/test.css angefordert wird, der Server auch einen Header 302 Found ausliefert aber der Antworttext ist leer. Das sieht aus als ob der Server nur den Header aber keine Inhalt schicken würde.

Und was ich garnicht verstehe: Wenn ich auf den Testlink klicke (nach Ablauf der Session) wird im selben Moment, wo die index.php mit der Überschrift "Diese Website gliedert sich in 4 Bereich" geladen wird, vom Browser auch die index.php angefordert.

Im Moment ist mir der Ablauf nicht ganz klar, was bei Ablauf der Session wirklich passieren soll.

@casi: Wie ist es denn konzeptionell vorgesehen?
@Korbinian: Was siehst du?
 
Konzeptionell ist vorgesehen, dass nach Ablauf der Session keine neue Interaktion mit der Seite möglich ist.
Soll bedeuten: Session abgelaufen --> nächste Aktion führt wieder zur Login-Seite

zu dem "loadscript.js"
das habe ich nun entfernt. Das war fälschlicherweise noch eingebettet wird in der Form aber garnicht benutzt.
 
Zuletzt bearbeitet:
Zurück
Oben