2 sessions parallel?

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

  • 2 sessions parallel?

    hallo,
    ich finde in der doku und hier leider nichts, folgendes "problem":

    ich verwalte eine hp über ein admin-interface online.
    die ganze admin läuft in einer session.

    auf der eigentlichen hp gibt es mehrere verschiedene passwortgeschützte bereiche,
    alle wählbar von einer startseite, die sich mit verschiedenen inhalten selbst aufruft und dazu, wenn passwort korrekt,
    eine var in einer session registriert.
    soweit so gut.

    nun habe ich 2 browser auf:
    in browser 1 nehme ich in der admin änderungen an der hp vor. session ist gestartet.
    in browser 2 schaue ich mir nun die änderungen im geschützten bereich an. jetzt ist auch hier eine session gestartet.

    um in browser 1 in der admin weiterzuarbeiten, muss ich mich neu einloggen.

    offensichtlich killt die 2. session die 1. session.

    anders gefragt:
    können 2 sessions vom selben rechner, aber aus 2 verschiedenen browser-fenstern nebeneinander existieren?

    danke und gruss

  • #2
    theoretisch nur wenn du 'session.use_cookies' auf 0 bzw false stellst und damit die weitergabe der sessionid per url erzwingst .. sonst wird das cookie immer überschrieben ..

    oder du nimmst in jedem geschützen bereich einen anderen 'session.name'

    => siehe php.ini (http://at.php.net/ini)
    http://at.php.net/manual/de/configuration.changes.php
    mfg,
    [color=#0080c0]Coragon[/color]

    Kommentar


    • #3
      danke für die info!

      variante 1 fällt aus:
      Wenn Sie PHP in der Modul-Variante ...
      php läuft beim provider als cgi.

      werde mal variante 2 versuchen.

      noch eine frage dazu:
      die session auf der hp wird nur dann gestartet, wenn die pw-abfrage ein korrektes ergebniss gebracht hat.

      um zu verhindern, dass der nutzer nun praktisch ohne ein korrektes passwort in die anderen bereiche kommt, wird bei jedem zugriff auf die übersicht ein "session_destroy()" benutzt, also auch, wenn gar keine session gestartet ist.
      fehlermeldung kommt keine, aber das kann man doch sicher "richtig" machen?
      ich finde leider keine möglichkeit um herauszufinden, ob schon eine session existiert.

      Kommentar


      • #4
        @ cr,
        mit session_name() klappt es jetzt wunderbar!
        danke für den hinweis!

        Kommentar


        • #5
          Wie hast du das zweite Fenster geöffnet? Mit STRG+N oder per ICON?

          Wen du das Fenster mit STRG+N öffenest werden automatisch die die Fenster-Daten mit übernommen. Du solltest dir lieber angewöhne für solche Sachen immer zwei Fenster übder das Icon öffen.
          *winks*
          Gilbert
          ------------------------------------------------
          Hilfe für eine Vielzahl von Problemen!!!
          http://www.1st-rootserver.de/

          Kommentar


          • #6
            Original geschrieben von weserweb
            um zu verhindern, dass der nutzer nun praktisch ohne ein korrektes passwort in die anderen bereiche kommt, wird bei jedem zugriff auf die übersicht ein "session_destroy()" benutzt, also auch, wenn gar keine session gestartet ist.
            fehlermeldung kommt keine, aber das kann man doch sicher "richtig" machen?
            Um es richtig zu machen, prüfst du ob eine Session da ist, wenn ja wird sie erstmal zerstört und dann neu auf gesetzt.
            Tip: IF(ISSET($_SESSION['']))

            Dabei solltest du aber aufpassen, das du keine Session zerstörst von Usern die sich gerade angemeldet haben.
            *winks*
            Gilbert
            ------------------------------------------------
            Hilfe für eine Vielzahl von Problemen!!!
            http://www.1st-rootserver.de/

            Kommentar


            • #7
              @ wotan,

              zu 1)
              brauche ich mir nicht angewöhnen, mache ich nur so.

              zu 2)
              IF(ISSET($_SESSION[''])) - danach suchte ich! danke!
              Dabei solltest du aber aufpassen, das du keine Session zerstörst von Usern die sich gerade angemeldet haben.
              ich habe mich naiverweise darauf verlassen, dass der apache das regelt, aber wie sollte er das können, richtig!

              nun, dann werde ich noch einmal in die doku einsteigen.

              danke für die hinweise.

              Kommentar


              • #8
                Original geschrieben von weserweb
                @ wotan,

                zu 1)
                brauche ich mir nicht angewöhnen, mache ich nur so.
                Dann sollte es auch gehen, ohne das du dich neu einloggen must, da es zwei verschiedene Sessions sind!
                *winks*
                Gilbert
                ------------------------------------------------
                Hilfe für eine Vielzahl von Problemen!!!
                http://www.1st-rootserver.de/

                Kommentar


                • #9
                  wahrscheinlich habe ich mir einen gemacht:

                  ich benutze den crazy browser wg. der tabs. und der öffnet wohl kein echtes neues fenster, sondern eben einen neuen tab. vermutlich ist das der grund.

                  aber egal, ansonsten hätte ich die anderen tips nicht bekommen!

                  danke noch einmal!

                  Kommentar


                  • #10
                    @ wotan,

                    noch einmal zur klarstellung:
                    Zitat von wotan:
                    Dabei solltest du aber aufpassen, das du keine Session zerstörst von Usern die sich gerade angemeldet haben.
                    manual:
                    manual:
                    session_destroy() löscht alle in Verbindung mit der aktuellen Session stehenden Daten. Mit der Session zusammenhängende Globale Variablen und das Session-Cookie werden nicht gelöscht.
                    somit kann das killen der session von benutzer 1 die session von benutzer 2 nicht stören, oder verstehe ich da etwas falsch?

                    Kommentar

                    Lädt...
                    X