![]() |
#1 |
Banned
Expert
Datum učlanjenja: 29.09.2007
Poruke: 458
Hvala: 131
71 "Hvala" u 44 poruka
![]() |
![]() Potreban mi je savet kako da nateram PHP da sesije budu na nivou domena a ne subdomena i da rešenje ne bude putem cookies.
Video sam na netu neka rešenja putem baze podataka ali mi se čini da to radi isto na nivou subdomena? ... ![]() |
![]() |
![]() |
![]() |
#2 |
I'm a PC too.
Wrote a book
Datum učlanjenja: 05.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
![]() ![]() |
![]() Možeš ovako da uradiš, nije vezano za PHP.
Na svaki GET (ili POST) zahtev dodaš ID (svaki korisnik ima svoj ID koji slučajno generišeš kada se uloguje). I kada to dođe na server, pogledaš taj ID i dovučeš podatke za sesiju iz baze. Znači, npr. svaki link bi izgledao ovako nekako: <a href="blablabla&SessionID=12331"> I to je to. Naravno taj isti ID stavljaš i u POST zahteve, itd. E da, ostaje ti i da se pobrineš o sigurnosti, da ne može svako da samo ukuca neki ID tek tako..
__________________
Commercial-Free !!! Poslednja izmena od degojs : 03. 05. 2011. u 01:52. |
![]() |
![]() |
"Hvala" degojs za poruku: |
![]() |
#3 |
Super Moderator
Knowledge base
Datum učlanjenja: 02.10.2006
Lokacija: Niš
Poruke: 1.618
Hvala: 263
275 "Hvala" u 104 poruka
![]() ![]() ![]() |
![]() u sustini trebas samo da nateras browser da ucita nesto sa svih subdomena [na kojima hoces sesiju] - recimo kobajagi sliku da ucita [ili javascript], ali ga umesto slike navedes na php koji proveri parametre koje si mu prosledio i set-uje cookie na tom poddomenu.
tipa: <img src = "http://poddomen.sajt.com/login.php?session=7899865545" /> login.php proveri da li postoji ta sesija u bazi - i ako postoji onda setuje cookie na tom poddomenu. pozeljno da login.php vrati 1x1 providnu png/gif sliku ![]() |
![]() |
![]() |
"Hvala" Peca za poruku: |
![]() |
#4 |
Banned
Expert
Datum učlanjenja: 29.09.2007
Poruke: 458
Hvala: 131
71 "Hvala" u 44 poruka
![]() |
![]() Nešto sam guglao pa sam našao ovo rešenje.
session_set_cookie_params(0, '/', '.some_domain.com'); obavezno ubaciti pre session_start(); a ako razvijate aplikaciju na test serveru pa vam je potrebno da sistem radi na više domena(npr u lokalu exam.com a na serveru example.com), pre svega ovoga ubacite ovaj kod da bi ste razdvojili subdomain i domen, a lepo radi ako je subdomen sastavljen od vise reci povezanih tackama npr: my.example.example.com $domain = explode('.', $_SERVER['SERVER_NAME']); $domain = array_reverse( $domain ); $SUBDOMAIN = null; if( count( $domain ) > 2 ) { $a = $domain; array_shift($a); array_shift($a); $SUBDOMAIN = implode('.', $a); $_SERVER['SERVER_NAME'] = $domain[1].'.'.$domain[0]; } if( $SUBDOMAIN == null ) { $SUBDOMAIN = "www"; } session_set_cookie_params(0, '/', '.'.$_SERVER['SERVER_NAME']); session_start(); @degojs && @Peca Thanks ![]() |
![]() |
![]() |
![]() |
#5 | |
Super Moderator
Knowledge base
Datum učlanjenja: 02.10.2006
Lokacija: Niš
Poruke: 1.618
Hvala: 263
275 "Hvala" u 104 poruka
![]() ![]() ![]() |
![]() a nadjoh upravo i ovo, da funkcija setcookie moze da set-uje vrednost i za poddomene;
http://php.net/manual/en/function.setcookie.php Citat:
to ti isto vazi i za sesiju. a resenje koje sam izneo gore se koristi samo ako hoces sesiju da prebacis na skroz razlicite domene. Poslednja izmena od Peca : 04. 05. 2011. u 00:35. |
|
![]() |
![]() |
![]() |
#6 |
Banned
Expert
Datum učlanjenja: 29.09.2007
Poruke: 458
Hvala: 131
71 "Hvala" u 44 poruka
![]() |
![]() extra
![]() |
![]() |
![]() |
![]() |
#7 |
profesionalac
Qualified
|
![]() prethodno vazi samo ukoliko su vam poddomeni na istom serveru...
![]() |
![]() |
![]() |
![]() |
#8 |
Banned
Expert
Datum učlanjenja: 29.09.2007
Poruke: 458
Hvala: 131
71 "Hvala" u 44 poruka
![]() |
![]() |
![]() |
![]() |
![]() |
Alati teme | |
Način prikaza | |
|
|