banjalukaforum.com https://banjalukaforum.com/ |
|
PHP sessions https://banjalukaforum.com/viewtopic.php?f=18&t=7188 |
Stranica 1 od 1 |
Autoru: | SmileY [ 28 Dec 2003, 13:05 ] |
Tema posta: | PHP sessions |
treba mi tutorial o php sesijama, odnosno objasnjenje kako se koriste. |
Autoru: | Vertygo [ 29 Dec 2003, 12:24 ] |
Tema posta: | . . . |
Mislis koristiti server side ili koljacici ? Nasao sam neki pdf -Server Side - PHP - Building an E-Commerce Site (Part 2) - Managing Users with Sessions.pdf |
Autoru: | SmileY [ 29 Dec 2003, 14:27 ] |
Tema posta: | |
oba, ali nisi mi dao url ![]() |
Autoru: | Not now, John! [ 29 Dec 2003, 16:05 ] |
Tema posta: | |
U časopisu http://www.asdfdeveloper.com je bio dobar članak o PHP sesijama i mjerama predostrožnosti. |
Autoru: | SmileY [ 29 Dec 2003, 19:09 ] |
Tema posta: | |
da li znas koji broj ? |
Autoru: | Not now, John! [ 29 Dec 2003, 21:03 ] |
Tema posta: | |
SmileY je napisao: da li znas koji broj ?
Br. 6 i 7 |
Autoru: | keerg [ 28 Jan 2004, 19:13 ] |
Tema posta: | |
A sta te konkretno zanima u vezi sa sesijama ? Sesija je proces pracenja korisnikovih aktivnosti na web sajtu putem jedinstvenih vrednosti varijabli koje prenostis iz stranicu u stranicu. Jednom kada se zapocne sesija sa Kod: session_start(); potrebno je i da registrujes odredjenu varijablu (npr. ako si prethodno imao log-in form, sto je najcesci slucaj), uzecemo za primer Kod: $username . Dakle, sledece sto dolazi jeKod: $username = $_POST['username']; session_register('username'); pod pretpostavkom da ti je ime form-text-fielda bilo 'username'. Prenos sa stranice na stranicu ti ide dalje preko varijable $username (ako imas u php.ini-ju prethodno ukljucenu stavku register_globals=on) ili preko globalnog niza $HTTP_SESSION_VARS['imevarijable'] (sto je preporucljivije zbog sigurnosti). Sesiju proveravas preko funkcije Kod: session_is_registered() , brises vrednost varijable sa Kod: session_unregister() i na kraju unistavas sesiju sa Kod: session_destroy() .
Postoji i opcija tracking-a preko cookija, ali to ti ne garantuje uvek rezultat zbog korisnikove mogucnosti da blokira cook-ije itd... Srecno |
Autoru: | SmileY [ 28 Jan 2004, 21:35 ] |
Tema posta: | |
interesuju je sessions sa mysql-om, login system, user/admin system, i slicne stvari. Odnosno hocu da pravim nesto poput phpbb-a/phpnuke, komplikovano ali treba od neceg krenuti ![]() |
Autoru: | keerg [ 28 Jan 2004, 21:46 ] |
Tema posta: | |
Sve te stvari koje si nabrojao su dodatne, u odnosu na osnovnu sintaksu koju sam ti gore pokazao. MySQL bazu mozes koristiti za izvlacenje podataka koji ce se prikazivati nakon autentikacije. Znaci lepo napravis obicnu html formu, registrujes sesiju (proveris u bazi mozda username i password ako imas rekorde) i na osnovu toga preusmeravas korisnika na ovu ili onu .php stranicu. Takodje mozes vrlo lako implementirati i korisnicke levele (npr. ako u tabeli imas level:1 username: smiley, proveravaces if($level == 1) itd.). Ustvari, toplo bih ti preporucio PHP manual kao osnovu svima koji se zele baviti PHP-om .... [www.php.net] |
Autoru: | misk0 [ 28 Jan 2004, 21:54 ] |
Tema posta: | |
Na newsima su se ljudi bavili pitanjem Logout odnosno odjave. Tj problem se odnosio na to da omogucis samo jednu konekciju u isto vrijeme i bilo je prijedloga preko sessiona, preko cookijaa i slicno medjutim nisam vidio da je neko dao konkretan odogovor. Znaci sve je oki ako korisnik koristi opciju Logout, medjutim sta ako zatvori prozor ili jednostanvno otkuca drugi link? Kako je naknadno moguce terminirati tu sessiju odnosno znati da je terminirana ? |
Autoru: | SmileY [ 28 Jan 2004, 21:55 ] |
Tema posta: | |
davnih dana skinuo, ali nemam vremena da procitam ![]() hvala u svakom slucaju |
Autoru: | misk0 [ 28 Jan 2004, 21:57 ] |
Tema posta: | |
SmileY je napisao: davnih dana skinuo, ali nemam vremena da procitam
![]() u svakom slucaju je lakse citati nego pitati po forumu, jer je manual siguran odgovor a forum je subjektivno misljenje pojedinaca koje moze biti (u dosta slucajeva primjecujem) i pogresno. |
Autoru: | SmileY [ 28 Jan 2004, 22:03 ] |
Tema posta: | |
misk0 je napisao: Na newsima su se ljudi bavili pitanjem Logout odnosno odjave. Tj problem se odnosio na to da omogucis samo jednu konekciju u isto vrijeme i bilo je prijedloga preko sessiona, preko cookijaa i slicno medjutim nisam vidio da je neko dao konkretan odogovor.
Znaci sve je oki ako korisnik koristi opciju Logout, medjutim sta ako zatvori prozor ili jednostanvno otkuca drugi link? Kako je naknadno moguce terminirati tu sessiju odnosno znati da je terminirana ? Negdje sam procitao da se session gasi prilikom gasenja IE-a, odnosno otvaranja novog linka u njemu. Odnosno login/logout bi trebalo ici ovako [preko mysql baze]. U mysql bazi trebas napraviti tabelu za usere, u toj tabeli osim user/passa i sl. treba imati polja za sessions, takodje i za ip, preko sesija se svaki put kad se user uloguje polje za session id/ip mijenja [last session id/ip sta vec ti treba]. Kad user se loguje, ta polja se updejtuju, kad se ie ugasi, session_destroy i delete cookies. Trebao bi biti u pravu, neka me neko ispravi ako sam pogrijesio u teoriji ![]() |
Autoru: | misk0 [ 28 Jan 2004, 22:11 ] |
Tema posta: | |
SmileY je napisao: Negdje sam procitao da se session gasi prilikom gasenja IE-a, odnosno otvaranja novog linka u njemu.
Odnosno login/logout bi trebalo ici ovako [preko mysql baze]. U mysql bazi trebas napraviti tabelu za usere, u toj tabeli osim user/passa i sl. treba imati polja za sessions, takodje i za ip, preko sesija se svaki put kad se user uloguje polje za session id/ip mijenja [last session id/ip sta vec ti treba]. Kad user se loguje, ta polja se updejtuju, kad se ie ugasi, session_destroy i delete cookies. Trebao bi biti u pravu, neka me neko ispravi ako sam pogrijesio u teoriji ![]() Vidi, ti mozes u tabelu usera smjestiti session_id i naravno ako session_id postoji kad se drugi korisnik pod istim user pokusava ulogovati nece mu dozvoliti. Medjutim ti kad zatvoris prozor ... nema eventa, nemas cime izbrisati taj podatak iz baze i sta onda ? Znaci jednom se uloguje, zatvori prozor i nikad se vishe ne moze ulogovati. |
Autoru: | keerg [ 28 Jan 2004, 22:32 ] |
Tema posta: | |
misk0 je napisao: Na newsima su se ljudi bavili pitanjem Logout odnosno odjave. Tj problem se odnosio na to da omogucis samo jednu konekciju u isto vrijeme i bilo je prijedloga preko sessiona, preko cookijaa i slicno medjutim nisam vidio da je neko dao konkretan odogovor.
Znaci sve je oki ako korisnik koristi opciju Logout, medjutim sta ako zatvori prozor ili jednostanvno otkuca drugi link? Kako je naknadno moguce terminirati tu sessiju odnosno znati da je terminirana ? Tu na scenu stupaju kolacici: Kod: $vreme = 30*60000;
setcookie(''sesija", 1,time()+$vreme); cime se ogranicava vreme trajanja kolacica, ali koliko znam isto tako, kolacic istice i onog trenutka kada se browser ugasi (ako je $vreme=0) ? Takodje, cuo sam da IE 6 ima problema sa unistavanjem sesija ovim putem ... pa zivi bili. Sto se tice provere - da li je korisnik ulogovan ili ne, predlazem http://www.free2code.net/tutorials/prog ... hp?limit=1 , jako lep tutorial koji koristi sesije i dodatnu varijablu $logged_in. |
Autoru: | misk0 [ 29 Jan 2004, 01:42 ] |
Tema posta: | |
Hm... mislim da me techX nisi skontao, tj ja ne vidim kako na ovaj nacin mozes da provjeris da je vec jedan korisnik logovan a ne na istom racunaru ? i koliko znam cookie koji nemaju vremenskog parametra isticu po zatvaranju browsera ?? |
Autoru: | keerg [ 29 Jan 2004, 02:06 ] |
Tema posta: | |
Cekaj, ti zelis da ako je korisnik vec ulogovan, login skripta ne dopusta jos jedno logovanje sa istim userom i passwordom right ? Jesi isao na gornji url ? |
Autoru: | misk0 [ 29 Jan 2004, 12:01 ] |
Tema posta: | |
techX je napisao: Cekaj, ti zelis da ako je korisnik vec ulogovan, login skripta ne dopusta jos jedno logovanje sa istim userom i passwordom right ?
kao sto rekoh .... DA ![]() |
Autoru: | [KS] [ 29 Jan 2005, 01:50 ] |
Tema posta: | Mozda... |
Probaj ovako: Stavis da je duzina trajanja sessije 1 sec... A skripta koju korisnik izvrsava krecuci se kroz member area stalno updejtuje sessiju (id npr. moze da cita iz cookia). Tako da ako korisnik izadje iz member area automatski skripta nece update session i session postaje nevazeci. Bice da je 1s premalo ali probaj npr. 1 minut. Uff, neznam kako da se izrazim.... Uf npr. kad se ja ulogujem u session tabelu upises novi session id sa pratecim podacima i podesis trajanje sesije na 1 minut, a na moj racunar postavis cookie koji sadrzi samo session id. I sad kad ja kliknem na neki link u member area ta skripta koju sam pokrenuo (php ili asp), procita cookie i ako je session sa tim idom istekao, skripta ga ponovo podesi (opet sa trajanjem od 1 minut). Tako da kad korisnik zatvori prozor nakon minut njegov session postaje nevazeci (sto znaci da se drugi korisnici mogu logovati), ali dok god se korisnik krece kroz member area session ostaje vazeci i drugi korisnici se nemogu logovat (na taj nalog naravno). Jedini problem koji sam ja uocio u ovome je to da se npr jedan korisnik predugo zadrzi na jednoj stranici u member area tako da session postaje nevazeci i samim tim drugi korisnik bi se mogao logovati pod tim nalogom, a samim tim bi ovom prvom korisniku (koji se predugo zadrzao na stranici u member area) bio onemogucen pristup. Posto sam ovu ideju smislio "u hodu" pretpostavljam da sam previdio neke greske, ali mislim da je ovo OK okvirna ideja. Nadogranja neka naravno da mora da se izvrsi. |
Autoru: | SmileY [ 01 Feb 2005, 21:05 ] |
Tema posta: | |
ma http://www.php.net/manual u vezi onoga probajte sa session_cache_expire() |
Stranica 1 od 1 | Sva vremena su u UTC [ DST ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |