Welche Daten in die Session?

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

  • Welche Daten in die Session?

    Welche Daten speichert ihr in der Session wenn es um ein Loginsystem geht?

    Wenn ich die Wahl habe den Loginstatus in der Session oder der DB zu speichern, was wähle ich dann? (auch im Bezug auf die häufig Abfrage desselben)


    Und können denn Daten aus der Session (vom User, von Fremden) ausgelesen bzw. verändert werden?
    [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

    [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

    [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
    (from here)

  • #2
    Einen Loginstatus braucht man gar nicht - ist keine UserID in der Session, dann ist der User nicht eingelogt. Punkt.

    Ob man bestimmte Daten nach und nach in der Session sammelt, statt sie jedes Mal erneut aus der DB zu fischen, ist eine Performance- und Designfrage. Kann man also nicht allgemein beantworten.

    Kommentar


    • #3
      d.h. die Daten in der Session sind so sicher wie wenn sie in der DB liegen?


      Loginstatus bezog sich auf die Kombination aus Username und Zeitpunkt der letzten Aktion (wenn der User eine Stunde lang idle ist, dann wird er automatisch ausgeloggt)
      [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

      [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

      [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
      (from here)

      Kommentar


      • #4
        sie sind sogar sicherer, weil sie wieder verschwinden.

        Kommentar


        • #5
          Original geschrieben von Meillo
          wenn der User eine Stunde lang idle ist, dann wird er automatisch ausgeloggt[/B]
          Das passiert bei einer Session Lifetime von 1 Stunde quasi immer. Den Zeitpunkt der letzten Aktion braucht man also nicht. Du hast da wahrscheinlich etwas gebastelt, was PHP von sich aus schon kann, wenn man nur ein paar Parameter setzt.

          Kommentar


          • #6
            Original geschrieben von onemorenerd
            Das passiert bei einer Session Lifetime von 1 Stunde quasi immer. Den Zeitpunkt der letzten Aktion braucht man also nicht. Du hast da wahrscheinlich etwas gebastelt, was PHP von sich aus schon kann, wenn man nur ein paar Parameter setzt.
            thx für den Hinweis
            [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

            [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

            [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
            (from here)

            Kommentar


            • #7
              Ach Meillo, und ich dachte die ganze Zeit, dass du etwas Ahnung von PHP hast das ist Grundlagen

              Kommentar


              • #8
                Original geschrieben von asp2php
                Ach Meillo, und ich dachte die ganze Zeit, dass du etwas Ahnung von PHP hast das ist Grundlagen
                hatte er auch, bis er sich das hirn rausgef**kt hat (siehe http://www.php-resource.de/forum/sho...277#post446782)
                Sunshine CMS
                BannerAdManagement
                Borlabs - because we make IT easier
                Formulargenerator [color=red]Neu![/color]
                Herkunftsstatistik [color=red]Neu![/color]

                Kommentar


                • #9
                  Original geschrieben von asp2php
                  Ach Meillo, und ich dachte die ganze Zeit, dass du etwas Ahnung von PHP hast das ist Grundlagen
                  ... hab ja "etwas Ahnung" ... beschränkt sich halt auf einige Wissensbereiche dazwischen gibt es dann doch genug unerforschte Gebiete ...
                  Hoffe mal, dass den Tag trotzdem überstehst, nach diesem Schock



                  ... und @Benny-one: nein!
                  [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

                  [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

                  [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
                  (from here)

                  Kommentar


                  • #10
                    Original geschrieben von onemorenerd
                    Das passiert bei einer Session Lifetime von 1 Stunde quasi immer.
                    Seit wann hat die Session eine "Lifetime"?
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Original geschrieben von wahsaga
                      Seit wann hat die Session eine "Lifetime"?
                      ... ich habe gerade zu diesem Thema und onemorenerds Aussage mal runprobiert:
                      in der phpinfo() seht zwar was von "session.gc_maxlifetime" (mit einem Wert von 24min bei mir)

                      hierzu php.net
                      session.gc_maxlifetime integer

                      session.gc_maxlifetime spezifiziert die Anzahl der Sekunden, nach denen Daten als 'garbage' ('Müll') betrachtet und entsorgt werden.

                      Anmerkung: Falls sich der Wert von session.gc_maxlifetime in verschiedenen Scripts unterscheidet, aber sie die Sessiondaten an der selben Stelle speichern, löscht das Script mit dem kleinsten Wert die Daten. Verwenden Sie die Anweisung in diesem Fall zusammen mit der Anweisung session.save_path.

                      Anmerkung: Falls Sie die standardmäßige dateibasierte Session-Prozedur verwenden, muss Ihr Dateisystem die Zugriffszeiten (atime) verfolgen. Windows FAT tut dies nicht. Sie müssen sich daher einen anderen Weg einfallen lassen, um die 'Müllentsorgung' Ihrer Session zu erledigen, wenn Sie an ein FAT-Dateisystem gebunden sind oder an irgendein anderes Dateisystem, das keine atime-Kontrolle bietet. Seit PHP 4.2.3 wird mtime (modified date) anstatt atime verwendet. Sie werden also keine Problem mit Dateisystemen haben, bei denen atime nicht zur Verfügung steht.
                      und ein Kommentar dazu
                      shanemayer42 at yahoo dot com
                      20-Aug-2000 04:11
                      Session Garbage Collection Observation:

                      It appears that session file garbage collection occurs AFTER the current session is loaded.

                      This means that:
                      even if session.gc_maxlifetime = 1 second,
                      if someone starts a session A and no one starts a session for an hour, that person can reconnect to session A and all of their previous session values will be available (That is, session A will not be cleaned up even though it is older than gc_maxlifetime).


                      Bei mir ist es so, dass nach mehreren Stunden ohne jeglichen Zugriff die Session immer noch verfügbar ist ... am nächsten Tag war sie dann aber weg.

                      hab jetzt einfach doch einen "lastAction"-Timestamp eingebaut - so kann ich die Session auch sicher zu einem selbstdefinierten Zeitpunkt töten.
                      [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

                      [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

                      [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
                      (from here)

                      Kommentar

                      Lädt...
                      X