einstellen: session gilt für Subdomain
tomgk
- php
Hallo!
Ich hab ein Login-Sytem, dass mit Session arbeitet.
Wenn ich mich nun anmelde und dann auf eine andere Subdomain gehe bin ich dort nicht angemeldet, dort wo ich mich angemeldet habe schon.
Wie kann ich das so umstellen das ich auf allen Subdomains angemeldet bin?
MfG
tomgk
Hallo,
Indem du keine Subdomain benutzt! Der Browser (nicht der IE, damit hatte ich auch schonmal Probleme) erkennt das als eigene Domain und die Cookies gelten nicht mehr. Die einzige Lösung ist daher, die SID über die URL zu übergeben.
mfg, Flo
Moin!
Indem du keine Subdomain benutzt! Der Browser (nicht der IE, damit hatte ich auch schonmal Probleme) erkennt das als eigene Domain und die Cookies gelten nicht mehr. Die einzige Lösung ist daher, die SID über die URL zu übergeben.
Das ist falsch. Cookies funktionieren auch übergreifend für Subdomains.
- Sven Rautenberg
Hallo,
Das ist falsch. Cookies funktionieren auch übergreifend für Subdomains.
ich hatte mal im MDC nachgeguckt, und da hieß es, FF3 würde die Cookies nicht über Domaingrenzen (inkl. Subdomaingrenze) zur Verfügung stellen.
Aber OK, ich versuchs mal!
mfg, Flo
Moin!
»» Das ist falsch. Cookies funktionieren auch übergreifend für Subdomains.
ich hatte mal im MDC nachgeguckt, und da hieß es, FF3 würde die Cookies nicht über Domaingrenzen (inkl. Subdomaingrenze) zur Verfügung stellen.
Kann ich nicht nachvollziehen, im MDC steht an den Stellen, die ich spontan gefunden habe, die übliche Info über Domaingrenzen.
- Sven Rautenberg
Hi,
Ich hab ein Login-Sytem, dass mit Session arbeitet.
Wenn ich mich nun anmelde und dann auf eine andere Subdomain gehe bin ich dort nicht angemeldet, dort wo ich mich angemeldet habe schon.
Wie kann ich das so umstellen das ich auf allen Subdomains angemeldet bin?
Setze die Session-Einstellungen so, dass der Cookie mit der Session-ID auch fuer Subdomains als "gueltig" deklariert wird.
http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-domain
MfG ChrisB
Hallo!
Setze die Session-Einstellungen so, dass der Cookie mit der Session-ID auch fuer Subdomains als "gueltig" deklariert wird.
http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-domain
Etwa so: session_set_cookie_params(60*60,'/')
MfG
tomgk
Hi,
Setze die Session-Einstellungen so, dass der Cookie mit der Session-ID auch fuer Subdomains als "gueltig" deklariert wird.
http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-domain
Etwa so: session_set_cookie_params(60*60,'/')
Noe.
Path ist Path, und Domain ist Domain.
MfG ChrisB
Hallo!
Wie dann?
MfG
tomgk
Hallo,
siehe mein Posting: geht nicht über Cookies!
mfg, Flo
Hallo!
siehe mein Posting: geht nicht über Cookies!
Aber in Url mitzugeben sieht nicht gerade gut aus.
Wenns nicht geht werde ich die Subdomains umleiten zu underordner.
MfG
tomgk
Moin!
siehe mein Posting: geht nicht über Cookies!
Doch.
- Sven Rautenberg
Hallo!
So wie ichs gelesen hab sollte es so funktionieren, tut es aber nicht: session_set_cookie_params(1440,'/',".example.com");
MfG
tomgk
Hi,
So wie ichs gelesen hab sollte es so funktionieren, tut es aber nicht:
session_set_cookie_params(1440,'/',".example.com");
Welcher Browser?
Cache geleert, aktuell vorhandene Cookies der Domain geloescht?
Mit Firebug o.ae. nachgeschaut, welche Cookie-Header der Client im Response des Servers erhaelt?
MfG ChrisB
Hallo!
Welcher Browser?
FF3
Cache geleert, aktuell vorhandene Cookies der Domain geloescht?
Ja
Mit Firebug o.ae. nachgeschaut, welche Cookie-Header der Client im Response des Servers erhaelt?
PHPSESSID=3173d80904c81cdf0187767e21bc1f66; path=/
Firebug habe ich garnicht gekannt.
MfG
tomgk
Hi,
Mit Firebug o.ae. nachgeschaut, welche Cookie-Header der Client im Response des Servers erhaelt?
PHPSESSID=3173d80904c81cdf0187767e21bc1f66; path=/
Da glaenzt die Angabe der Domain, fuer die der Cookie gueltig sein soll, also durch Abstinenz.
Das fuehrt zur naechsten Frage: Hast du session_set_cookie_params auch auf die *sinnvolle* Weise angewendet? (Siehe Manual)
MfG ChrisB
Hallo!
Das fuehrt zur naechsten Frage: Hast du session_set_cookie_params auch auf die *sinnvolle* Weise angewendet? (Siehe Manual)
Ach, das gehört vor session_start()...
Jetzt bin ich nirgends mehr angemeldet.
MfG
tomgk
Hallo!
Weiß nun auc warum: expires des SESSION-Cookies ist immer ca. 43 Minuten vor dem jetzt.
Beispiel: Anfrage um 19:05, expires=18:22:03
Das passiert nur wenn ich session_set_cookie_parms() vor session_start() Aufrufe, und den einen 3. Parameter von session_set_cookie_parms() benutze.
MfG
tomgk
Hi,
Weiß nun auc warum: expires des SESSION-Cookies ist immer ca. 43 Minuten vor dem jetzt.
Beispiel: Anfrage um 19:05, expires=18:22:03
Das passiert nur wenn ich session_set_cookie_parms() vor session_start() Aufrufe, und den einen 3. Parameter von session_set_cookie_parms() benutze.
Hast du auch noch mal alle Cookies geloescht?
Sonst kann es naemlich jetzt sein, dass da noch ein alter Cookie "rumschwebt", der aber fuer die Hauptdomain als von hoeherer "Spezifitaet" betrachtet wird, weil er noch ohne den dritten Parameter gesetzt wurde, und damit nur fuer diese Domain galt, oder sowas in der Art ...
MfG ChrisB
Hallo!
Ich habe bei session_set_cookie_params() denn wert des 1. Parameters x10 gerechnet, jetzt wird am PC trotzdem kein Session-Cookie gesetzt, obwohl expires jetzt auf 21:xx ist.
MfG
tomgk
Hi,
Das fuehrt zur naechsten Frage: Hast du session_set_cookie_params auch auf die *sinnvolle* Weise angewendet? (Siehe Manual)
Ach, das gehört vor session_start()...
Ja, manchmal sollte man aufmerksam lesen, was im Manual steht.
MfG ChrisB
Hallo!
»» > Das fuehrt zur naechsten Frage: Hast du session_set_cookie_params auch auf die *sinnvolle* Weise angewendet? (Siehe Manual)
»» Ach, das gehört vor session_start()...
Das ganze hab ich bis jetzt auf localhost auspropiert.
Nun hab ich das auf meiner Webseite auspropiert, dort funktioniert es.
Warum funktioniert es nicht am PC?
MfG
tomgk
Hi,
Das ganze hab ich bis jetzt auf localhost auspropiert.
Nun hab ich das auf meiner Webseite auspropiert, dort funktioniert es.
Warum funktioniert es nicht am PC?
Vielleicht bspw. deswegen oder deswegen.
Jetzt verrate mir bitte, auf welche Art und Weise ich das mit dem "das Manual aufmerksam(!) lesen kann manchmal wirklich hilfreich sein" so formulieren kann, dass du es auch verstehst ...
MfG ChrisB
Hallo!
Nun funktioniert es.
Auch wenn man das Cookie löscht, dann neu einloggt.
Funktioniert auch im IE7!
Der Fehler: Der 3. Parameter war nicht richtig.
MfG
tomgk
Hi,
Wie dann?
Mit NACHLESEN.
Die verlinkte Seite verweist ihrerseits auf http://www.php.net/manual/en/function.session-set-cookie-params.php, und da ist der domain-Parameter auch beschrieben.
MfG ChrisB