banjalukaforum.com

Dobrodošli na banjalukaforum.com
Danas je 18 Jul 2025, 20:41

Sva vremena su u UTC [ DST ]




Započni novu temu Odgovori na temu  [ 20 Posta ] 
Autoru Poruka
 Tema posta: PHP sessions
PostPoslato: 28 Dec 2003, 13:05 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 05 Jul 2002, 22:04
Postovi: 2127
Lokacija: Aiur
treba mi tutorial o php sesijama, odnosno objasnjenje kako se koriste.

_________________
Slika
Beckett: How come I never make friends like that?
McKay: You need to get out more.
Beckett: We're in another galaxy. How much more out can you get?


Vrh
 Profil  
 
 Tema posta: . . .
PostPoslato: 29 Dec 2003, 12:24 
OffLine
Majstorski kandidat
Majstorski kandidat
Korisnikov avatar

Pridružio se: 12 Jul 2001, 01:00
Postovi: 457
Lokacija: Banjaluka
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

_________________
Ivan M.


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 29 Dec 2003, 14:27 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 05 Jul 2002, 22:04
Postovi: 2127
Lokacija: Aiur
oba, ali nisi mi dao url :)

_________________
Slika
Beckett: How come I never make friends like that?
McKay: You need to get out more.
Beckett: We're in another galaxy. How much more out can you get?


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 29 Dec 2003, 16:05 
OffLine
Veteran
Veteran

Pridružio se: 12 Jul 2001, 01:00
Postovi: 3131
Lokacija: Kod roditelja
U časopisu http://www.asdfdeveloper.com je bio dobar članak o PHP sesijama i mjerama predostrožnosti.


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 29 Dec 2003, 19:09 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 05 Jul 2002, 22:04
Postovi: 2127
Lokacija: Aiur
da li znas koji broj ?

_________________
Slika
Beckett: How come I never make friends like that?
McKay: You need to get out more.
Beckett: We're in another galaxy. How much more out can you get?


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 29 Dec 2003, 21:03 
OffLine
Veteran
Veteran

Pridružio se: 12 Jul 2001, 01:00
Postovi: 3131
Lokacija: Kod roditelja
SmileY je napisao:
da li znas koji broj ?

Br. 6 i 7


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 28 Jan 2004, 19:13 
OffLine
Pripravnik
Pripravnik

Pridružio se: 19 Avg 2001, 01:00
Postovi: 271
Lokacija: Banja Luka, Republika Srpska
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 je
Kod:
$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

_________________
erga omnes


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 28 Jan 2004, 21:35 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 05 Jul 2002, 22:04
Postovi: 2127
Lokacija: Aiur
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 :)

_________________
Slika
Beckett: How come I never make friends like that?
McKay: You need to get out more.
Beckett: We're in another galaxy. How much more out can you get?


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 28 Jan 2004, 21:46 
OffLine
Pripravnik
Pripravnik

Pridružio se: 19 Avg 2001, 01:00
Postovi: 271
Lokacija: Banja Luka, Republika Srpska
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]

_________________
erga omnes


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 28 Jan 2004, 21:54 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 01 Avg 2001, 01:00
Postovi: 3380
Lokacija: .: Lugano :.
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 ?

_________________
Nemoj se svadjati sa budalom, ljudi cesto nece primjetiti razliku.


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 28 Jan 2004, 21:55 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 05 Jul 2002, 22:04
Postovi: 2127
Lokacija: Aiur
davnih dana skinuo, ali nemam vremena da procitam :)
hvala u svakom slucaju

_________________
Slika
Beckett: How come I never make friends like that?
McKay: You need to get out more.
Beckett: We're in another galaxy. How much more out can you get?


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 28 Jan 2004, 21:57 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 01 Avg 2001, 01:00
Postovi: 3380
Lokacija: .: Lugano :.
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.

_________________
Nemoj se svadjati sa budalom, ljudi cesto nece primjetiti razliku.


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 28 Jan 2004, 22:03 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 05 Jul 2002, 22:04
Postovi: 2127
Lokacija: Aiur
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 :)

_________________
Slika
Beckett: How come I never make friends like that?
McKay: You need to get out more.
Beckett: We're in another galaxy. How much more out can you get?


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 28 Jan 2004, 22:11 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 01 Avg 2001, 01:00
Postovi: 3380
Lokacija: .: Lugano :.
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.

_________________
Nemoj se svadjati sa budalom, ljudi cesto nece primjetiti razliku.


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 28 Jan 2004, 22:32 
OffLine
Pripravnik
Pripravnik

Pridružio se: 19 Avg 2001, 01:00
Postovi: 271
Lokacija: Banja Luka, Republika Srpska
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.

_________________
erga omnes


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 29 Jan 2004, 01:42 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 01 Avg 2001, 01:00
Postovi: 3380
Lokacija: .: Lugano :.
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 ??

_________________
Nemoj se svadjati sa budalom, ljudi cesto nece primjetiti razliku.


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 29 Jan 2004, 02:06 
OffLine
Pripravnik
Pripravnik

Pridružio se: 19 Avg 2001, 01:00
Postovi: 271
Lokacija: Banja Luka, Republika Srpska
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 ?

_________________
erga omnes


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 29 Jan 2004, 12:01 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 01 Avg 2001, 01:00
Postovi: 3380
Lokacija: .: Lugano :.
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 :) znaci poenta je da dozvolis samo jednu konekciju u isto vrijeme jednom useru

_________________
Nemoj se svadjati sa budalom, ljudi cesto nece primjetiti razliku.


Vrh
 Profil  
 
 Tema posta: Mozda...
PostPoslato: 29 Jan 2005, 01:50 
OffLine
Početnik
Početnik

Pridružio se: 20 Jan 2005, 00:43
Postovi: 49
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.


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 01 Feb 2005, 21:05 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 05 Jul 2002, 22:04
Postovi: 2127
Lokacija: Aiur
ma
http://www.php.net/manual
u vezi onoga probajte sa
session_cache_expire()

_________________
Slika
Beckett: How come I never make friends like that?
McKay: You need to get out more.
Beckett: We're in another galaxy. How much more out can you get?


Vrh
 Profil  
 
Prikaži postove u poslednjih:  Poređaj po  
Započni novu temu Odgovori na temu  [ 20 Posta ] 

Sva vremena su u UTC [ DST ]


Ko je OnLine

Korisnici koji su trenutno na forumu: Nema registrovanih korisnika i 0 gostiju


Ne možete postavljati nove teme u ovom forumu
Ne možete odgovarati na teme u ovom forumu
Ne možete monjati vaše postove u ovom forumu
Ne možete brisati vaše postove u ovom forumu
Ne možete slati prikačene fajlove u ovom forumu

Pronađi:
Idi na:  
Powered by phpBB® Forum Software © phpBB Group
Hosting BitLab
Prevod - www.CyberCom.rs