Session premenne v PHP

Programovacie jazyky, rady, poradňa...
ppt
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1920
Registrovaný: 27 máj 2006, 11:24
Kontaktovať používateľa:

Session premenne v PHP

Príspevok od používateľa ppt »

Cafte,

mam taku otazocku ohladne session premennych a ich funkcionalite medzi serverom a klientom.
Dam priklad, ze mam web, na ktorom bezi prihlasovanie uzivatelov (pomocou session). Dalej mam iny web, ktory vytvori na ten prvy web socketove spojenie a stiahne z neho stranku (aj s hlavickou). Cize v podstate moj druhy web je akoby klientom prveho webu (no kokso, dufam ze sa nezamotam :oops: ). Takze teoreticky by som sa mal vediet na ten prvy web prihlasit.

No a moja otazka je: Akym sposobom da server klientovi vediet, ze sa prihlasil spravne a ze klient moze pracovat v rovnakej session (ze je uz prihlaseny)? Odosle mu v hlavicke nejake session ID a v serveri sa niekde zaznamena, ze to session ID patri tomu ktoremu klientovi a na zaklade toho ho vie identifikovat? Alebo sa v hlavicke okrem SID odosle aj nieco ine?

vdaka
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

session id sa prenáša v url alebo cookies v závislosti od nastavenia servera. Ak je v cookies, tieto ti prídu v hlavičke. Radšej ako socket by som ale použil curl.
Pekný príklad prihlásenia je tu

//edit: kým som odpisoval tak som zabudol čo sa pýtaš :D
takže či si prihlásený zistíš rozparsovaním stránky, po prihlásení sa jej obsah zmeni oproti tej keď prihlásený nie si. Lebo session id budeš mať aj po neuspešnom prihlásní, nastaví ich session_start()
beluský
Darca
Darca
Používateľov profilový obrázok
Príspevky: 317
Registrovaný: 21 sep 2006, 13:46

Príspevok od používateľa beluský »

ked som pouzil vo svojom php kode session_destroy(); zrusilo mi to session aj na inej stranke (rovnakom serveri)...

ako to je vlastne so session? niekde som aj videl, ze sa uklada session do db (to cislo, neviem ako sa vola :) ) k comu je to dobre?
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Dáta pre session sa ukladajú do nejakého súboru (vo výpise phpinfo sa dozvieš do akého). Ak to nestačí, dá sa to prerobiť tak, aby sa to ukladalo tam kde to chceš ty a aby sa to tam ukladalo tak, ako to chceš ty (trebárs aj do tej DB). Každý ten záznam má identifikátor a pomocou neho sa potom asociuje klient s tými údajmi, čo sú uložené pre tú session (ten identifikátor sa prenáša v cookie, alebo v url).

Ak bola tá stránka (tá na rovnakom serveri) v subdoméne, tak je možné, že sa ti sid cookie ukladá pre zlú doménu (a teda sa dá odstrániť z každej subdomény). A ak išlo o rovnakú doménu, ale ty si tam mal viac rôznych systémov, ktoré používajú session, tak je možné, že viac tých session používa pre uloženie cookie rovnaké meno. (a možno je problém v inom, ale neviem, ako to tam máš urobené)
Napísať odpoveď