[PHP] Session na več domenah hkrati
 
cerica100 2. maj 2011 13:28:50 Pridružen od:
21. mar 2011
24 objav
9 2 0
#1

Pozdravljeni,



zanima me ena zadeva. Kako omogočiti, da če se uporabnik prijavi na eni domeni, da je hkrati prijavljen na drugih domenah? Najboljša rešitev je pomoje cookie, pa je tudi najbolj varnejša?



Gre se za to, da uporabnik z enim profilom lahko dostopa do večih aplikacijah na različnih domenah.


všeč(0) ni všeč(0) spam(0)
 
fatg 3. maj 2011 16:01:08 Pridružen od:
28. jan 2008
94 objav
73 2 0
#2

cookie je omejen na domeno, torej če ga postaviš na eno, ga z nobene druge ne boš mogel brati. Predlagam, da uporabiš kakšen openID.


všeč(0) ni všeč(0) spam(0)
 
ledi 3. maj 2011 17:00:23 Pridružen od:
14. avg 2008
681 objav
325 223 14
#3

ali pa session-e hranjuješ v skupni tabeli


všeč(1) ni všeč(1) spam(0)
 
GE 3. maj 2011 21:37:58 Pridružen od:
20. apr 2011
20 objav
77 1 0
#4

Kaj pa če bi vstavil hidden iframe? Druga ideja ki mi pride na misel pa je, da uporabnika redirektaš na osnovno stran, kjer preveriš ali je logiran, in iz tam takoj nazaj.


všeč(0) ni všeč(0) spam(0)
 
cerica100 4. maj 2011 02:47:55 Pridružen od:
21. mar 2011
24 objav
9 2 0
#5

openID ne pride v poštev. kako pa session shranjuješ v skupni tabeli? a se session ne spremeni, če odpreš več različnih domen?


všeč(0) ni všeč(0) spam(0)
 
Vini 4. maj 2011 02:58:16 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#6

Kaj pa je rekel fatg, a?


všeč(2) ni všeč(0) spam(0)
 
bostjan 4. maj 2011 05:52:31 Pridružen od:
31. jul 2008
643 objav
689 30 9
#7

Eden izmed odgovorov če malo pogooglaš (http://stackoverflow.com/questions/511541/sharing-session-across-domain):




What you need is a single sign on service. You could roll you own for your sites A..Y by having a centralised site Z to manage the sessions/sign on.



user arrives in site A, doesn't present any session id

site A redirects user to site Z

site Z creates a session, perhaps after authenticating the user, and drops a site Z cookie, redirects user back to site A with a URL which contains an additional payload telling site A what the users session id is

site A drops a session cookie allow the user to continue to use their shared session on A

Now when the user goes to site B



site B sees no session, redirects to site Z

site Z sees it's already got a session for this person, directs them straight back to B with the session id payload

site B drop a session cookie, it's all good again.

To put it another way, your signal sign on service gives the user something that they can hang to (a session cookie) and also something they can pass to the participating site to prove they are authenticated.



všeč(0) ni všeč(0) spam(0)
 
perunpro 4. maj 2011 09:36:58 Pridružen od:
23. maj 2008
3360 objav
2892 217 19
#8

Ta redirect je AFAIK precej cudna stvar za iskalnike - nekako ne marajo prevec redirectov :)


všeč(0) ni všeč(0) spam(0)
 
jurij123 4. maj 2011 12:57:32 Pridružen od:
20. nov 2010
572 objav
675 148 10
#9

Jaz ne bi uporabljal nobenih redirectov ampak bi naredil svoj session system.



Imas tabelo sessions, kjer hranis notri podatke(datum, cas, ip, ...)



In potem samo preveris IPje in to je to.

Lahko seveda dodas tudi prave sessione, da reduciras uporabo MySQL...


všeč(1) ni všeč(0) spam(0)
 
FrEaKmAn 4. maj 2011 13:46:08 Pridružen od:
2. dec 2007
303 objav
175 59 0
#10

jurij123:

Jaz ne bi uporabljal nobenih redirectov ampak bi naredil svoj session system.



Imas tabelo sessions, kjer hranis notri podatke(datum, cas, ip, ...)



In potem samo preveris IPje in to je to.

Lahko seveda dodas tudi prave sessione, da reduciras uporabo MySQL...




tudi jaz bi to tko rešil, lep primer na http://www.tonymarston.net/php-mysql/session-handler.html



samo ni mi jasno kaj misliš s temi "pravimi sessionmi"? pač shraniš vse v bazo, če bo pa performance problem (kar dvomim) pa uporabš kj bolj naprednega mogoče cache..


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se