Sessions funktionieren anscheinend mit Sub-Domains nicht...

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

  • Sessions funktionieren anscheinend mit Sub-Domains nicht...

    hey!

    ich habe einen loginbereich geschrieben, wo der username ständig in einer Session von Seite zu Seite weitergegeben werden soll...

    Man gibts seinen Benutzernamen und Passwort ein, sie werden auf richtigkeit geprüfet und dann wird der Benutzername gespeichert...

    Es funktioniert auch alles ganz wunderbar, solange ich mich auf dem server befinde...

    Sobald ich aber meine URL über eine Subdomain ansteuere, funktioniert das mit den sessions nicht mehr!

    Bsp:

    http://www.meinserver.de/meineseite/login.php

    ich melde mich hier an, Benutzername wird per session weitergegeben an die folgeseite index.php...

    alles funktioniert!

    Wenn ich jetzt eine Subdomain nehmen (z.B. www.meinserver.de.vu) und dieser Subdomain die Adresse http://www.meinserver.de/meineseite/login.php zuweise... ist der login nicht mehr möglich! Die Session wird nicht weitergegeben!

    Wenn ich aber zuerst auf http://www.meinserver.de/meineseite/login.php gehe, mich einlogge und dann nach dem erfolgreichen Login obne in der Adressleiste auf die Subdomain www.meinserver.de.vu wechsel (also im selben Fenster) und mich dann neu einlogge, funktioniert alles!

    Irgendwie komisch.
    Ich versteh den Zusammenhang nich...

    ich hatte die idee, das vielleicht die Session vorher schon einen gültigen Wert haben muss, damit es auch bei einer Subdomain funzt, aber irgendwie hat das auch nicht viel gebracht, außerdem bei der direkten url hat die session ja auch keinen Wert zugewiesen...

    Seltsamerweise tritt dieser Fehler (soweit ich bislang rausgefunden habe) nur beim Internetexplorer 6 mit WinXP auf. Wenn ich ganz normal mit Mozilla probiere, klappts auf anhieb bei der subdomain...

    Kann mir jemand einen erklärung dafür geben?
    Wie kann ich das beheben, das ich auch über die Subdomain auf den sessionbereich zugreifen kann??

    Danke für jede hilfe im Voraus!

    MFG Israel's Son
    Zuletzt geändert von israelsson; 30.12.2004, 01:50.

  • #2
    weiß nicht ob das sein kann, ob die sid über ein cookie weitergegeben wird und das cookie ist an eine bestimmte adresse gebunden. da kannst du mal reinschauen, um herauszufinden, was die zwei browser unterschiedlich machen.

    Kommentar


    • #3
      hey danke erstmal!

      Ja, das hab ich mir auch schon gedacht aber wie soll ich da was gegen machen?
      Es muss doch möglich sein in mein PHP script etwas so zu verändern, das es egal ist mit welchem Browser ich es aufrufe oder?

      also direkt Cockies verwende ich nicht für die sid. Ich habe einfach nur:
      PHP-Code:
      session_start();
      if( @
      $_POST["nick"] ){ 
      $_SESSION["benutzer"]=$nick

      Mein Server schickt die id anscheinend selbstständig mit, ka wie...

      ich versteh den zusammenhang nicht wieso der internetexplorer das nicht kann, aber mozilla schon. Dann muss das ja ein eindeutiger Fehler im InetExplorer sein...

      MFG Israel's Son

      Kommentar


      • #4
        Irgendwie fehlen Dir so dermassen die Grundlagen das ich gar nicht weiss wo ich anfangen soll ... !

        Es fängt damit an, dass Du die Begriffe Domain und Subdomain in einem vollkommen falschen Kontext verwendest ... letztlich redest Du von Domains in vollkommen verschiedenen TLD-Bereichen ...

        Cookies werden immer nur an die Domain gesendet von der sie auch gesetzt wurden ... du brauchst nur in Dein Cookie-Verzeichnis zu schauen um Dir einen Überblick darüber zu verschaffen welch ein Datenwust dabei entstehen würde wenn es anders wäre und sämtliche Cookies bei jeder Request mitgesendet würde ...

        Würde es sich um bei Deinem Problem wirklich um Subdomains handeln könnte ich Dir ja wenigstens noch den Tipp geben die Ini-Variable "session.cookie_domain" auf ".domain.tld" zu setzen ... so ist aber auch das noch Pustekuchen ...

        Der einzige denkbare Lösung (jedoch nur wenn beide "Domains" auf einem Server liegen würden) wäre die übergabe der SessionID via URL-Parameter respektive hidden input ... aber eben nur in dem Falle ... dürfte aber auch nicht greifen, da der .de.vu Mist ja eigentlich nur für billighosting Schrott verwendet wird ...

        Noch eine Variante wäre denkbar ... ein "session.save_handler" auf user ... User-Spezifisches Session-Handling implementieren ... Sessiondaten in eine Datenbank ... und diese Datenbank für beide Domain-Server verfügbar machen übergabe der SessionID natürlich wieder über URL ... !
        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