Session beheer multi domain ( vhost )
Links werken als <categorie>.domain.nl
Zodra een sessie wordt gezet in www.domain.nl ben ik deze kwijt in bla.domain.nl etc
Iemand een oplossing voor dit probleem , of is de enige oplossing een eigen session handler schrijven?
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?PHP
setcookie(session_name(), session_id(), 0, "/", ".yoursite.com");
/*
session_name() geeft de 'naam' van de sessie
session_id() geeft de id, dus de cookie wordt overschreven met dezelfde waarde
0 betekend dat hij weggegooit wordt als de browser sluit
'/' betekend in alle mappen op je domein
'.yoursite.com' betekend dat hij in alle subdomeinen geldig is, maar het schijnt dat het niet geldig zou zijn voor www.yoursite.com, dat moet je zelf ff uitzoeken...
*/
?>
setcookie(session_name(), session_id(), 0, "/", ".yoursite.com");
/*
session_name() geeft de 'naam' van de sessie
session_id() geeft de id, dus de cookie wordt overschreven met dezelfde waarde
0 betekend dat hij weggegooit wordt als de browser sluit
'/' betekend in alle mappen op je domein
'.yoursite.com' betekend dat hij in alle subdomeinen geldig is, maar het schijnt dat het niet geldig zou zijn voor www.yoursite.com, dat moet je zelf ff uitzoeken...
*/
?>
Dit zou je dan dus moeten doen na elke verandering in de session... Is het niet wat makkelijker om het met cookies te doen?
Edit:
Kwam net dit tegen, dit kan je ook gebruiken:
Code (php)
1
2
3
4
5
2
3
4
5
<?PHP
//bovenaan je pagina, nog voor session_start();!!!!!!!!
ini_set("session.cookie_domain",".yoursite.com");
session_start();
[/code]
//bovenaan je pagina, nog voor session_start();!!!!!!!!
ini_set("session.cookie_domain",".yoursite.com");
session_start();
[/code]
Gewijzigd op 01/01/1970 01:00:00 door SilverWolf NL
Dat lijkt me beide niet heel veilig
Beargumenteer eens Klaasjan ;-)
Kort gezegd: je hebt een bepaald (sub)domein waar je de sessies beheert. Inloggen en uitloggen gaat via dat subdomein. Als een bezoeker op een (sub)domein van jou komt en er nog geen sessie is, wordt de bezoeker doorgestuurd naar de sessiehandler. Die kan dan een sessie meegeven of aangeven dat er geen sessie is. Dit alles gaat zonder output met HTTP-redirects, waardoor het bijna niet te merken is.
Ik raad je aan om even naar GeenStijl/Dumpert/Spitsnieuws te kijken, je ziet heel duidelijk hoe zij dat aanpakken. Hun sessiehandler is http://registratie.geenstijl.nl/.
Bedankt voor alle antwoorden dusver maar denk toch dat ik voor sessie handler in db oplossing ga. Indien ik voor ( nagenoeg ) elke request die nog geen initiated session heeft een extra request moet gaan doen, wordt dit een flinke overload op de server.