Fragen zu Sessions

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

  • Fragen zu Sessions

    Ich habe mal ein paar allgemeine Fragen zu sessions, weil das bei mir nicht immer so 100% funktioniert.

    Wie man sie benutzt ist ja nicht besonders schwer aber ich frage mich wie das ganze eigenltich funktioniert.

    1. Wennn ich meinen Server so einstelle, dass er sowohl coolies als auch die url für die session id verwenden soll, wie ermittelt der server, ob er nun die id in nem cookie hinterlegen kann oder nicht.

    2. Wieso, wenn die SID in nem cookie gespeichert ist, ist die session nur in einem Browserfenster aktiv. Wenn ich ein neues Browserfenster öffne, hat die Session nichts mit der anderen zu tun.
    Wenn ich aber z.B. ein neues Fenster aus nem Fenster öffne, wo gerad ne Session aktiv ist, so ist im neuen Fenster die selbe Session verfügbar.

    3. Wie funktioniert das ganze mit Frames. Ist die Session in allen Frames der Hauptseite Verfügbar. Wenn ich in einem Frame ne Session starte, und in nem anderen auch, ist das dann die gleiche. Wenn nicht geibt es möglichkeiten eine gemeinsame Session für alle frames zu starten.

    4. Wenn ich mit Javascript ein Fenster öffnen lasse, ist dann die Session auch dort verfügbar.

    5. Hängt es irgendwie von Browser ab wie die SID übermittelt wird? (Siehe Problem 1 unten):

    Ich habe nämlich folgende Probleme:

    1. Ein Freund hat ein von mir geproggtes GB in einen iframe eingebunden. Wenn er sich einloggen will, geht es nicht. Ist die Seite nicht in dem Iframe geht es. "Nicht gehen" heißt, dass man sich zwar einloggen kann, dann aber die Varieblen der Session nicht verfügbar sind.
    Das Problem besteht nur im IE6 in Opera und Netzcape funktiert alles!

    2. Ich habe ein Javascrip, das auf meiner seite auf der eine Session aktiv ist ein Popup öffnet, das den User auf neue Nachrichten aufmerksam macht. Wenn ich es schließe, so wird per JS ne neue Seite auf der Hauptseite geladen. Manchmal kommt es vor, dass die Session dann nicht mehr aktiv ist, also der User ist plötzlich nicht mehr eingeloggt. Das passiert glaube ich nur beim ersten mal.

    Habe viel geschireben, vielleicht könnt ihr mir ein wenig helfen. Ich bedanke mich schon jetzt dafür.

    Gruß David

  • #2
    Re: Fragen zu Sessions

    Original geschrieben von davidn
    2. Wieso, wenn die SID in nem cookie gespeichert ist, ist die session nur in einem Browserfenster aktiv. Wenn ich ein neues Browserfenster öffne, hat die Session nichts mit der anderen zu tun.
    Wenn ich aber z.B. ein neues Fenster aus nem Fenster öffne, wo gerad ne Session aktiv ist, so ist im neuen Fenster die selbe Session verfügbar.
    sessions benutzen temporäre cookies ohne lebensdauer-angabe.
    die werden nach dem schliessen des browserfensters gelöscht.

    und offensichtlich handhabt dein browser die so streng, dass sie immer nur in der selben instanz des browsers verfügbar sind.
    fenster öffnen mit JS -> gleiche instanz.
    neues browserfenster von hand gestartet -> andere instanz des browsers.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Re: Fragen zu Sessions

      Original geschrieben von davidn
      Ich habe nämlich folgende Probleme:

      1. Ein Freund hat ein von mir geproggtes GB in einen iframe eingebunden. Wenn er sich einloggen will, geht es nicht. Ist die Seite nicht in dem Iframe geht es. "Nicht gehen" heißt, dass man sich zwar einloggen kann, dann aber die Varieblen der Session nicht verfügbar sind.
      Das Problem besteht nur im IE6 in Opera und Netzcape funktiert alles!
      Das ist vollkommen normal so ... im Zweifel hast Du unten in der Statusleiste auch ein kleines Verbotsschild ... Du solltest Dich mal mit P3P auseinandersetzen ... das hilft Dir weiter ... : http://www.w3.org/P3P/

      Du kannst auch manuell Deine Sicherheitseinstellungen ändern ... aber das hilft den Besuchern der Seite nicht wirklich weiter ... der einfachste Weg ist allerdings die SessionID via URL durchzuschleifen ...
      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


      • #4
        zu 1.

        php sendet beim ersten aufruf eine session hängt gleichzeitig die session an die urls. beim zweiten aufruf prüft er ob er ein cookie setzen konnte, wenn nicht bleibt die session an der url ansonsten läßt php die dort weg und nutzt das cookie. (fallback)

        zu 2.

        das ist bei IE6.0 normal, das pro Fenster eine andere Sitzung stattfindet, glaube bei netscape, opera ist das auch so. Bei den restlichen Browsern weiss ich nicht.

        zu3. eigentlich funktionieren sessions auch in frames, musst halt erst php komplett durcharbeiten lassen bevor du den frames senden lässt.

        zum JS
        hab die Erfahrung gemacht das sessions und Javascript sich nicht wirklich vertragen. Kannst versuchen die session in den aufgerufenen Link manuell dranzuhängen.
        mfg
        marc75

        <Platz für anderes>

        Kommentar


        • #5
          Ah, vielen Dank Jungs, dass ist ja schon interessant, postet ruhig weiter.

          Thy

          David

          Kommentar


          • #6
            Ich habe folgendes Problem. Mein Script funktioniert nur, wenn die SessionID als cookie gespeichert wird.
            Bei folgendem script funktioniert alles:
            <?
            session_start();
            echo $_SESSION["test"];
            $_SESSION["test"]="test";;
            echo "<A HREF='test.php?".strip_tags(SID)."'>weiter</A>";
            ?>

            Abber bei meinem ContentManagement System nicht (Der Quelltext würde das hier sprengen). Woran kann das liegen. Ich übergebe bei jeder URL die SessionID. Und zwar wie folgt:

            1. session_start();
            ...
            2. define("MAINFILE", "index.php?".SID);

            ich benutze dann immer bei allen links MAINFILE

            warum geht das nicht.

            Was mir aufgefallen ist:

            die session ID ändert sich bei jedem klick auf nen link, das kann nicht richtig sein.

            In der PHP.ini hab ich mal eigentlistellt er soll diese trans SID nehmen, aber das geht auch nicht.

            Es funktioniert aber alles in dem beschrieben script oben. Könnt ihr mir tips geben, woran das liegt plz, thx

            Greetz David

            Kommentar

            Lädt...
            X