bounty: Cookies bei Weiterleitungen

folgendes problem,

für die user-authentifizierung verwende ich cookies.

sollte ich die site aber über eine webweiterleitung ansprechen kann man auf die cookies nicht zugreifen.

unter weiterleitung meine ich jetzt nicht header(...) sondern ich habe eine domain, http://xyz.at auf die ich aber auch mit http://123.at gelange.

bei xyz.at funktioniert alles, bei 123.at sind die cookies nicht vorhanden.

weiß jemand eine lösung?

  1. für die user-authentifizierung verwende ich cookies.

    unter weiterleitung meine ich jetzt nicht header(...) sondern ich habe eine domain, http://xyz.at auf die ich aber auch mit http://123.at gelange.

    weiß jemand eine lösung?

    Cookies sind standardmäßig mindestens auf eine Domain beschränkt (man kann das auch auf Verzeichnisse erweitern), somit hast Du von dieser Ecke her keinerlei Möglichkeit, einen Krümelkeks für mehrere Domains zu verwenden.

    Du könntest allerdings in einem Drahtseilakt versuchen, die Session-ID von Server A über die URL an Server B weiter zu reichen. Ob das funktioniert, hängt davon ab, ob PHP seine Sessions bei Dir intern ebenfalls an eine Domain hängt. Die Prüfung, ob die Domain der verweisenden Seite (Referrer) korrekt ist, könnte man noch umgehen, indem man sie entweder ausschaltet oder, falls das nicht möglich ist, zweimal weiterzuleiten (von A -> B.php?ID -> B.php?ID, nach der zweiten Weiterleitung sollte er die Session annehmen). Werden die Sessions allerdings in unterschiedlichen Verzeichnissen gespeichert, sieht es düster aus.

    Das ist alles reichlich unschön, insofern solltest Du Dir überlegen, ob es wirklich nötig ist, dieselben Dateien über mehrere Domains erreichbar zu machen. Statt dem Gewusel oben würde ich eher vorschlagen, Zugriffe auf die Domains B, C, usw. sofort auf Domain A umzuleiten. Bei Domainpaaren à la example.de und example.com, deren Namensinhalt also gleich ist, sollte das kein Problem sein. Will man dem Benutzer unbedingt mehrere Identitäten vorgaukeln, sieht das natürlich anders aus - allerdings ist diese Praktik schon für sich eher fraglich.

    Gruß,
      soenk.e

  2. Geht das nicht wenn man bei setcookie() die andere Domain angibt und dann halt zwei Cookies (einen pro Domain) setzt?