Probleme mit der session-Timeout

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Probleme mit der session-Timeout

    Hallöchen...

    Hab da folgendes Problem...

    Dieses Script gibt aus, wann die seite geladen werden soll...

    <HTML<BODY onLoad="setTimeout('window.location.reload()',<?PHP echo $refresh_time?>);"></BODY></HTML>

    function mainReload(){
    dummyform.document.open();
    dummyform.document.write("<HTML><BODY><FORM name='dummy' action='main.php' method='post' target='_parent'><INPUT type='hidden' name='session_id' value='"+session_id+"'><INPUT type='hidden' name='include' value='4'><INPUT type='hidden' name='room_id' value='<?PHP echo $session->room_id?>'></FORM></BODY></HTML>");
    dummyform.document.close();
    dummyform.document.dummy.submit();
    }



    Wenn diese "efreshtime" angelangt ist speichert er den neuen timestamp in der SQL Datenbank und die session bleibt erhalten, sollte dies nicht in der Zeit sein schließt er die Session automatisch.

    Da ich den Refresh nicht höher machen möchte, sollte er in diese zeit Z.b. 10sec hinbekommen...

    Jetzt mein Problem, wenn einer mit "IE" oder Z.b. "FIREFOX" dann eine Datei sucht führt er kein Refresh (bleibt alles in diese zeit stehen) mehr aus und kann somit die Zeit für diesen Timeout nicht aktualisieren...

    weiß einer ein Tip wie man es in PHP oder gar JAVA realisieren kann ohne das dieses zustande kommt???

    greets
  • Hi

    "Wen der Benutzer eine Datei sucht" - Wie meinst du das? Heißt es, dass der Refresh nicht funktioniert, wenn du in einem Dialog-Modus bist?

    Allgemein ist das Verfahren nicht sehr zuverlässig. Wenn der Tab inaktiv ist, läuft auch der Timer langsamer um die CPU zu schonen (manche Browser machen das). In dem Fall wird deine Session auch auslaufen, ohne dass du das willst.

    Du solltest also besser die Session Laufzeit erhöhen.
    Ansonsten kannst du es ja mal mit AJAX statt mit document.write probieren. Aber vermutlich hast du hier genau die selben Probleme.
  • Hallöchen...

    Jap, wenn einige im Dialog Modus (datei suchen zum upload) bleiben die Client stehen oder werden sehr träge...

    Ich denk mal das es mit Ajax nicht wirklich besser wird.

    Die Zeit zu erhöhen bringt nur den Efekkt das die User zu spät aus der Session gelöscht wird oder auch gelöscht wird, wenn der Dialog zu lange dauert.

    Also bleibt mir nur die möglichkeit das, wenn er nicht mehr in dem chat ist und sich versucht neu einzuloggen, das ein Prefix gesendet wird, der dann überprüft wird.
    Sollte der wert nicht erhöht werden von dem User (wenn er noch Online ist), das er ihn dann auf 0 (über ein anderen User nach eine Bestimmte zeit) setzt und somit dann erst die Session löscht...


    Oder fält euch eine andere lösung dessen Problem ein???

    greets
  • Also ich finde, dass ist ein Anwenderproblem.

    Du willst erreichen, dass der Benutzer nach Inaktivität abgemeldet wird, um dadurch das System abzusichern (Beispiel Home-Banking).

    Zeige die Zeit an, wann der Benutzer abgemeldet wird. Wenn der Benutzer weiß, dass er nach 15 Minuten Inaktivität abgemeldet wird, dann wird er keine 15 Minuten in irgendeinem Upload Dialog verharren.

    Und wenn doch, dann muss da eine freundliche Fehlermeldung stehen, dass zum Schutze der Sicherheit, die Session beendet wurde.
  • Hallöchen...

    Mit der Anzeige ist ja eine feine Sache... Nur wenn der User versehendlich den Browser schließt oder gar"x" drückt muss er 15min warten bis er sich wieder Einloggen kann und das ist etwas lang finde ich...

    Also muss ich mal schauen was mir einfällt im das Problem zu beseitigen oder einzudämmen...

    Hab für das Problem eine Lösung gefunden... Hab die Abfrageroutine etwas Abgeschwächt... Sprich, hab einfach statt 1.5 den zähler auf 2.0 gesetzt...

    Thx euch für die Hilfe... (closed)

    Greets

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von toxic ()