10.18.07
CMS, PHP, cookie, session
Cum spuneam, am început să re-descopăr roata: adică să-mi fac un CMS propriu, de dezvoltare şi întreţinere a unor site-uri web. Tocmai ce mă bucuram că am reuşit să fac/programez janta roţii
că m-am izbit de o problemă. După izbitură, puţin ameţit, ne-ştiind încotro s-o iau (nu ştiam ce soluţie să adopt!), mi-am pus la treabă toţi neuronii, conlucrând între ei dar având ca (virgulă) coordonator: sfatul nopţii – vorba populară: “noaptea: cel mai bun sfetnic”.
Şi am găsit soluţia: session.
Da! Va trebui să lucrez cu sesiuni. Speram să scap (să ocolesc) de cârca cu sesiunile. Le cam ocoleam, lucrasem cu ele la site-ul romaniapitoreasca şi mi-au dat destule bătăi de cap.
Ştiu să lucrez cu session dar nu le stăpânesc. Din experienţa mea de viaţă şi de programator, am dedus că sunt patru stadii de cunoaştere a unor lucruri, tehnici, tehnologii, etc.
- ne-cunoaşterea existenţei unor astfel de lucruri
- ne-cunoaşterea modului de funcţionare a lucrului respectiv – deja ai luat cunoştinţă de existenţa lui
- cunoaşterea modului de funcţionare – etapa de ŞTIU, a lucrului respectiv
- abilitatea de a utiliza, în mod corect, acel lucru şi de a-l folosi atunci când este cazul! – etapa de STĂPÂNIRE a lucrului respectiv
Şi iată-mă-s pus în situaţia de a trece la etapa IV-a în lucrul cu session, în PHP.
Sesiunile au, aparent, aceeaşi funcţionare ca şi cookie. Cookie-urile sunt nişte prăjiturele care se scriu pe calculatorul dvs., care vizitaţi anumite pagini web. Ele au ca scop identificarea dvs. la o vizită ulterioară. Adică serverul să-şi dea seama că dvs. l-aţi mai vizitat odată. Cookie-urile pot avea şi diverse alte scopuri, funcţie de ceea ce doreşte proprietarul server-ului. Unul din aceste scopuri fiind stocarea unor date despre dvs. ca vizitator. De exemplu, când vizitaţi anumite site-uri în care se cere introducerea unui nume de utilizator şi a unei parole, numele utilizator se poate stoca pe calculatorul dvs. într-o cookie, iar la o vizită ulterioară – poate peste câteva zile – apare numele utilizatorului deja scris, fiind necesară doar parola. Se poate scrie şi parola în cookie, dar se generează o problemă de securitate. Altcineva, poate accesa de pe calculatorul dvs. aceeaşi pagină şi poate intra cu numele dvs. de utilizator.
O altă utilitate a cookie-urilor este că se poate ţine minte şi transmite la nevoie cîtreserver, anumite variabile sau caracteristici din alte pagini vizitate anterior.
Aici este o problemă de programare web. O să dau un exemplu destul de actual din tehnologiile web: un magazin de cumpărături on-line.
De pe o anumită pagină (raion) cumpăraţi ceva şi introduceţi în coş. De unde ţine minte coşul ce produse aţi cumpărat de-a lungul vizitei?
Cea mai slabă/proastă soluţie este stocarea acestora în cookie-uri. O alta, în sesiuni, şi alta într-o bază de date.
Deci, problema este transmiterea de la o pagină la alta, a unor date. Sau, mai precis, transmiterea, înapoi, a unor valori alese de dvs. ca vizitator, utilizând un calculator client, serverului.
Sesiunile rezolvă elegant această problemă
prin faptul că ele sunt stocate automat pe server. Dvs., introducând anumite date, ele pot fi stocae direct pe server cu sesiuni. Este mult mai sigură soluţia cu sesiuni deoarece ele sunt şterse la închiderea browser-ului.
Flavius Aspra Said:
October 27, 2007 at 1:35 am
Învaţă despre modul de funcţionare al HTTP-ului şi vei stăpâni perfect cookie-urile.
Baftă!