XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Javascript & Ajax (http://xhtmlforum.de/forumdisplay.php?f=83)
-   -   history.back() und IE11, Killen ? (http://xhtmlforum.de/showthread.php?t=72959)

Scheppertreiber 16.08.2016 13:40

history.back() und IE11, Killen ?
 
Servus,

ich stecke fest und komme nicht weiter. Es geht mal wieder um mein Archiv.

Ich habe eine Loginseite, von dort aus wird das Login überprüft und dann das
Archiv gestartet. In der Menüleiste gibt es einen Link "Abmelden". Beim Klick wird
das Login auf dem server gelöscht, der User muß sich dann neu einloggen.

Problem:

Drückt der User nach dem "Abmelden" BSP oder "zurück" kann ich beim FF das
Login überprüfen (Danke lieber dynamischer timestamp ;). Beim IE11 funktioniert
das irgendwie nicht. Die Seite ist zwar nicht im Cache aber anscheinend im
Arbeitsspeicher. Der IE11 lädt also die Seite und der User kann trotz "ausgelogggt"
weitermachen.

Was tun ?

Ich weiß, man macht es nicht, es wäre aber eine Option history.back() zu killen -
es funktioniert aber auch nicht (ich habe so ziemlich alles aus dem WWW ausprobiert).

Lt. M$ speichert der IE11 keine Seiten mit https - es scheint mir aber eher
genau umgekehrt: http speichert er nicht, dann funktioniert meine konstruktion,
bei https sehe ich in Firebug keinerlei Netzaktivitäten.

Grüße Joe.

cloned 16.08.2016 13:55

Warum wird so etwas Browserseitig abgehandelt? Wenn man sich ausloggt dann wird man auch am Server ausgeloggt, man kann also nicht mehr weiterarbeiten, bevor man sich (am Server) wieder einloggt.

Scheppertreiber 16.08.2016 14:10

Zitat:

Zitat von cloned (Beitrag 549675)
Warum wird so etwas Browserseitig abgehandelt? Wenn man sich ausloggt dann wird man auch am Server ausgeloggt, man kann also nicht mehr weiterarbeiten, bevor man sich (am Server) wieder einloggt.

Konstruktion:

Nach dem Login lege ich auf dem Server eine Datei mit einem timestamp und
eine für die aktuellen Zugriffsrechte an. Diese werden beim Logout gelöscht, also
kein Zugriff mehr. Die Existenz dieser Dateien frage ich ab (das geht aber nur, wenn
sich der verschi*** IE auch beim Server melden würde. Macht er aber nicht.).

Die ganze Chose läuft in Frames ab damit sich keiner Links kopieren kann (wollte
der Kunde so). Anscheinend lädt der IE den ganzen Kram komplett und führt auch
ein 'heimliches' Login aus. Die beiden Dateien sind nach histor.back(); auf einmal
wieder da.

Im FF funktioniert das einwandfrei.

Ich suche nach meinem Brett vor dem Kopf ...

Grüße Joe.

cloned 16.08.2016 14:35

Zitat:

das geht aber nur, wenn sich der verschi*** IE auch beim Server melden würde
Das klingt mir, als ob hier dein Brett vor dem Kopf zu suchen wäre: Wieso meldet sich der IE nicht? Ein "einfacher" ajax-Call zum server, indem mitgeschickt wird, dass man sich ausloggt, sollte doch reichen? Wird dieser (oder etwas ähnliches) nicht abgeschickt? Sobald du den Ajax-Call zum ausloggen bekommst, loggst du deinen User aus, inklusive Löschung aller benötigten Files. Oder habe ich hier ein Brett vor dem Kopf?

Scheppertreiber 16.08.2016 14:47

Zitat:

Zitat von cloned (Beitrag 549677)
Das klingt mir, als ob hier dein Brett vor dem Kopf zu suchen wäre: Wieso meldet sich der IE nicht? Ein "einfacher" ajax-Call zum server, indem mitgeschickt wird, dass man sich ausloggt, sollte doch reichen? Wird dieser (oder etwas ähnliches) nicht abgeschickt? Sobald du den Ajax-Call zum ausloggen bekommst, loggst du deinen User aus, inklusive Löschung aller benötigten Files. Oder habe ich hier ein Brett vor dem Kopf?

Hai Cloned,

so mache ich das ja auch. Die Loginseite wird dynamisch erzeugt, dabei werden
beim Logout die Userfiles gelöscht (funktioniert). Mir ist schlkeierhaft, wie der IE11
das hinbekommt. Firebug zeigt mir keine Netzwerksktivitäten an.

cloned 16.08.2016 16:20

Was hat der Firebug mit dem IE zu tun?
Und wenn es funktioniert dass es gelöscht wird, dann sollte man doch nichts mehr ändern können? Eventuell musst du die Seite als "nicht zum cachen" markieren, damit sie nicht aus dem cache geladen werden kann?
Aber ich glaube, ich habe jetzt wenigstens mal das Grundproblem verstanden :D

edit: Bzw. wenn der user trotzdem die alte Seite sieht, dann sollte er nichts ändern können. Sobald er etwas ändert sollte der Server sagen "nein, das geht nicht" und eine entsprechende Meldung/redirect/etc. kommen.

Scheppertreiber 16.08.2016 16:43

Alles Gecäche ist abgeschaltet. Es ist auch klein Cache-Problem, https
cacht er eh nicht. Der IE hält einfach den Vorgänger irgendwoanders im
Speicher.

So wie es aussieht, führt der IE ein Login durch.

Ich habe jetzt in der Loginseite einen timestamp hinterlegt den sich der
Server unter der Remote-IP merkt. Wenn ich mit dem IE history.back()
mache sehe ich schön den Unterschied :ranting:

Vergleich ok: und rein ins Vergnügen
nicht ok: ex und hopp

Fuck IE ... :shock:

Es scheint zu funktionieren. FF (der Gute) zickt nicht so herum.

cloned 16.08.2016 16:48

Und was hatte der Firebug jetzt damit zu tun?
Du kannst ja den Netzwerktraffic auch im IE mit den Webdeveloper-Tools messen, da hätte dir ein weiterer Login doch angezeigt werden müssen?

Aber gut, wenn es jetzt funktioniert passt es ja :)

Scheppertreiber 16.08.2016 16:52

Das IE-Tool hat angezeigt, nur etwas völlig unerwartetes und anderes als
Firebug. lt. MSN schaltet der IE auch das Speichern ab sobald die
Entwicklertools geladen sind ... geil ne ?

cloned 16.08.2016 17:07

Achso, du meintest mit "Firebug" die IE-Developertools? Deshalb war ich wohl verwirrt, weil Firebug ist der Name für eine Erweiterung die es nur für Firefox gibt.
Ich arbeite nur wenn nötig mit den IE Tools, weiß also nicht, was du hier mit "Speichern abschalten" meinst. Ja, die IE Tools sind schlecht, aber man sieht zumindest etwas ^^
Deshalb mehr interessehalber die Frage, das eigentliche Problem wurde ja schon gelöst: Was wird nicht gespeichert? :)


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:30 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023