» »

[PHP] Prijava uporabnika(forum)

[PHP] Prijava uporabnika(forum)

kihc ::

Delam en svoj mini forum, mam skripte za vnašanje/branje postov v bazo že spisane, zataknilo se mi je pri uporabnikih.

Nevem točno kako naj naredim, da bo zadeva prepoznala uporabnika, ko ta odda svoj post. Ena možnost je recimo da v piškot vpišem id uporabnika in ga potem berem, samo tole se mi ne zdi preveč varno. Zanima me kakšen sistem se za to uporablja, da je čimbolj učinkovit in varen.


Hvala za pomoč.

PS. Sem se lotil secirat e107, vendar sem obupal :P
x

Matthew ::

Delaj s $_SESSION.

kihc ::

Ja, o tem sem slišal, samo nevem točno kako naj uporabim zadevo. Zamislil sem si nekako takole:

Ob prijavi narediš sejo in piškot, vanj shraniš id seje, v $_session['uporabnik'] pa recimo shraniš id uporabnika, potem pa ob vsaki oddaji posta (ali pa karkoli druzga) preveriš id seje v piškotu in session_id(), podatke ki jih rabiš za post pa prebereš iz $_session. Rajt?

Zdaj me pa še zanima če se splača preverjat tud ip ob vzpostavitvi seje in oddaji posta ali je brezveze?
x

rokpok ::

Ne preverjat IP-jev, ker se lahko pojavijo težave pri raznih proxy-ih in podobnih zadevah.
Rad bi bil pingvin.

mte ::

pa tudi na piškote ni za se 100% zanest, predvsem zato ker ni malo ljudi ki jih imajo sklopljene. Pri meni so piškoti dodatno preverjanje (če obstaja piškot, se preveri, drugače pa ne), session id-je pa ob prijavi shranim v bazo in jih nato ob vsaki operaciji primerjam s trenutnim id-jem.
me pa zanima ali je to dovolj ali je priporočljivo preveriti še kaj?
lp

SloDave ::

Session popolnoma zadošča za take stvari, enostavno ob prijavi nastaviš session pa notr daš tiste podatke ki jih rabiš (vrjetno userid). Cookie je smiselno uporabljat izključno za stvari, ki jih želimo ohranit tut ko uporabnik zapre okno (pa zlo previdno pri shranjevanju podatkov o prijavi v cookije, vsaj zakodirajte jih če ne drugač).
Pa mimogrede ni mi jasno zakaj session shranjuješ v bazo??

Zgodovina sprememb…

  • spremenil: SloDave ()

kihc ::

Ja zdej sm naredu (ok še delam) kar s session + ip, ker sem pogruntal da session prav tako že nastavi piškot, tisto z ipjem imam naštimano tako da lahko 'hitro' izklopim če bodo kakšni problemi.
x

mte ::

SloDave hja session id shranim v bazo zato, da lahko ob vsaki novi operaciji preverim, če je id še vedno isti. Tako sem razumel nekatere ljudi, da je fajn tako preverjati. Če ni oz. če je brezveze, lahko prosim obrazložiš?
hvala,
lp matej

rokpok ::

Shranjevanje session-ov v bazo pride prav, ko na enem serverju gostuje več uporabnikov. Ker se privzeto vsi session-i (od vseh uporanikov, ki gostujejo na strežniku) shranjujejo v isto datoteko, bi lahko kdo dostopal do session-ov, ki pripadajo drugi aplikaciji. Če pa shranjuješ session-e v bazo, pa so le ti dodatno zaščiteni (za dostop do njih rabiš geslo od podatkovne baze).

Lp
Rad bi bil pingvin.

Brilko ::

rokpok: to pa mislim da se motiš krepko da se glede na server določajo. ;)

rokpok ::

Ne razumem. Se ne shranjuje privzeto vsi session-i v isto (/tmp) mapo?
Rad bi bil pingvin.

rokpok ::

Ker se privzeto vsi session-i (od vseh uporanikov, ki gostujejo na strežniku) shranjujejo v isto datoteko

Se opravičujem. V isto mapo sem mislil.
Rad bi bil pingvin.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

ZEKom-1 po dveh tednih (strani: 1 2 )

Oddelek: Novice / Zasebnost
9319941 (14878) jype
»

Shranjevanje v sejo

Oddelek: Izdelava spletišč
8905 (638) faca5
»

Php varen login

Oddelek: Programiranje
203562 (3062) Volk|
»

Napad na Citigroup izkoristil trivialno luknjo (strani: 1 2 )

Oddelek: Novice / Varnost
6118181 (14458) ABX
»

Prenašanje cookijev med poddomenami

Oddelek: Informacijska varnost
201768 (1483) jype

Več podobnih tem