session am leben erhalten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • session am leben erhalten

    Hallo an alle im Forum,

    ich hoffe mir kann jemand von den Session-Profis weiterhelfen.


    Wir erstellen gerade eine Datenbankanwendung mit PHP und eingebauter Session-Verwaltung. Unser Problem ist nun folgendes:

    PROBLEM:
    Beim Aufruf im Login-Bereich wird eine Session angelegt und gespeichert und im tmp-verzeichnis gespeichert und beim Logout wieder zerstört. Nun ist es so, dass unser Provider eine maximale Lebenszeit der Session von 1440 sec. eingestellt hat, was zur Folge hat, dass die Session nach o. g. Zeit zerstört wird obwohl man noch eingeloggt ist. Das wäre ja noch nicht so schlimm, man müsste sich halt wieder einloggen. Da wir aber hier eine recht umfangreiche Datenbank aufbauen, kann es schon mal vorkommen, dass man für das Ausfüllen eines Formulares wesentlich länger als 1440 sec benötigt, da währenddessen relativ viele Recherche-Arbeiten erforderlich sind. Dies hat zur Folge, dass innerhalb dieser Zeit keine Aktivitäten am Rechner stattfinden und somit die 1440 sec verstreichen und die bereits im Formular eingetragenen Daten dann weg sind .


    FRAGE:
    Wie erreiche ich es, dass die Session lediglich nur beim kontrollierten Verlassen (Logout) zerstört wird und ansonsten erhalten bleibt.

    Vielleicht gibt es hier eine einfache Lösung.
    Ichwürde mich freuen, wenn Ihr mir hier weiterwelfen könntet.


    MfG
    kaktus

  • #2
    es gibt 2 möglichkeite, die mir direkt einfallen:
    1) ihr erzeugt eigene Sessions, die ihr selbst in Tabellen verwaltet, könnt also je nach Benutzer oder sonstigen Angaben bestimmte Lebensdauern bestimmen. Folge ist allerdings, dass die Sessionfunktionen von euch nachprogrammiert werden müssen.

    2) http://www.php.net/manual/de/function.ini-set.php
    evtl. könnt ihr damit die Lebensdauer der Session verstellen, ist aber vom Provider abhängig!

    gruss

    Kommentar


    • #3
      Hi,

      manchmal hast Du die PHP.ini MAX_EXECUTION_TIME mit set_time_limit() überschreiben. Kämme auf ein Versuch an.

      Sessions sind Cookies, d.h. Du kannst die Gültigkeitsdauer überschreiben.

      cu

      Blaster
      Yuppi, endlich Elite ...

      Kommentar


      • #4
        @Blaster: ... Sessions sind keine Cookies ... sondern eine Möglichkeit Besucher-Spezifische Daten über die Laufzeit eines PHP-Scriptes hinaus zu erhalten und diese zu einem späteren Zeitpunkt zu wieder zu verwenden.

        Sesssion Identifier (nicht die Session selber) können in Cookies gespeichert werden ... allerdings ist das nur eine Alternative ... denn Session Identifier können auch via Komandozeile weitergegeben werden.

        Die Laufzeit des Cookies ... die man durchaus manipulieren kann ... hat nichts mit der Haltbarkeit der Sessiondaten zu tun.

        *grins* ... ist so 'ne Multi Tier Geschichte ... *bg*
        carpe noctem

        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

        Kommentar


        • #5
          Original geschrieben von goth
          @Blaster: ... Sessions sind keine Cookies .
          Auf diesen Board schon! Zu 99,8%!

          Außerdem - "Nobody ´s perfekt, except the captian!"
          Yuppi, endlich Elite ...

          Kommentar


          • #6
            Ich würde empfehlen, auf den Variablentransport seitens PHP weitestgehend zu verzichten und zumindest neue Handler für's Session-Management selbst schreiben. So kann man auf die Dateien verzichten und das Management komplett z.B. in eine Datenbank verschieben.
            Im Netz finden sich Implementationen für Sessionhandling mit selbst definierten Funktionen. Unter session_set_save_handler() findet sich auch interessantes in der Dokumentation.

            Kommentar


            • #7
              @Feuerleit: Und was soll das für ein Vorteil bringen ... wenn du's nicht für 'ne Clusterlösung benötigst ... ??
              carpe noctem

              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

              Kommentar

              Lädt...
              X