Document, comentariu, eseu, bacalaureat, liceu si facultate
Top documenteAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
Lucrul cu date stocate in PHP
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 
r6s1sd

<titlu>
Lucrul cu date stocate</titlu>

<titlu>Modulul 10:
Utilizarea variabilelor cookie</titlu>

<titlu>Scopuri</titlu>
• invatati care este modul de functionare a variabilelor cookie
• invatati sa creati, sa obtineti accesul la variabilele cookie si sa le stergeti
• invatati sa stocati mai multe valori intr-o variabila cookie
• invatati sa specificati optiunile dintr-o variabila cookie

Acest modul va prezinta notiunile introductive referitoare la variabilele de date cookie, o caracteristica HTTP care va permite sa stocati date in sistemul unui utili¬zator. Variabilele cookie sunt utile pentru stocarea preferintelor utilizatorilor si a altor informatii care trebuie retinute atunci cand utilizatorul trece la o noua pagina Web.

<titlu>Accesul la variabilele cookie si crearea acestora</titlu>
Valorile majoritatii variabilelor dispar atunci cand scriptul PHP care le contine isi incheie executia. Spre deosebire de acestea, valorile variabilelor cookie se pot pastra un timp indefinit. Pentru ca valorile lor sa se poata pastra, browserul utilizatorului stocheaza variabilele cookie in unitatea de hard-disc locala a utilizatorului.
Variabilele cookie sunt utile dintr-o multime de puncte de vedere. De exemplu, multe situri Web folosesc variabile cookie pentru a stoca identitatea utilizatorului si

preferintele de vizualizare ale acestuia. Cand utilizatorul revine la situl Web, variabi¬lele cookie permit browserului sa recunoasca utilizatorul si sa restaureze optiunile sitului selectate de catre utilizator.
Din pacate, variabilele cookie nu constituie solutia perfecta pentru un mediu de stocare pe termen lung si prezinta o serie de dezavantaje. De exemplu:
• Un utilizator poate dezactiva variabilele cookie prin stabilirea unei optiuni a browserului
• in anumite situatii, variabilele cookie pot fi vizualizate de alti utilizatori decat utilizatorul ale carui date le stocheaza
• Un sit poate stoca numai 20 de variabile cookie si numai 4KB de informatii in unitatea de hard-disc locala a utilizatorului
• Numeroase versiuni ale browserelor frecvent folosite au erori care le impiedica sa foloseasca variabilele cookie in mod adecvat
In ciuda acestor dezavantaje, variabilele cookie raman cea mai populara tehnica pentru obtinerea unui mediu de stocare pe termen lung. Deci, este important sa intelegeti care este modul de functionare si de utilizare a acestora.




<titlu>Accesul la o variabila cookie</titlu>

Poate ca trasatura cea mai caracteristica a variabilelor cookie o constituie comoditatea. Daca ati creat o variabila cookie, valoarea acesteia este automat pusa la dispozitie ca variabila PHP avand acelasi nume cu acela al variabilei cookie. De exemplu, sa presupunem ca ati creat o variabila cookie denumita fruct si ca ii atribuiti valoarea banana. Aceasta pereche nume-valoare este apoi pusa la dispozitia fiecarui script PHP asociat sitului dumneavoastra de Web. Deci puteti afisa valoare variabilei cookie folosind urmatoarea instructiune:

Echo „Valoarea variabilei cookie este $fruct.”;
Aceasta instructiune are ca efect afisarea urmatorului rezultat:

Valoarea variabilei cookie este banana.

Variabila PHP de tip tablou asociativ HTTP_COOKIE_VARS contine numele si valoarea fiecarei variabile cookie curenta. Daca doriti sa vizualizati fiecare variabila cookie disponibila si valoarea acesteia, puteti invoca functia phpinfo(), care afiseaza valoarea tabloului HTTP_COOKIE_VARS. Daca doriti sa obtineti acces la tablou prin metode programatice, puteti folosi un program ca urmatorul:

Foreach($HTTP_COOKIE_VARS as $nume => $valoare)
Echo „<BR>$nume => $valoare”;

<titlu>Crearea unei variabile cookie</titlu>
Crearea unei variabile cookie este aproape la fel de simpla ca si obtinerea accesu¬lui la aceasta. Pentru a crea o variabila cookie, invocati functia setcookie(), care are urmatoarea forma:

setcookie(nume, valoare, expirare)

Argumentul nume specifica numele variabilei cookie, iar argumentul valoare specifica valoarea variabilei. Argumentul expirare indica momentul expirarii varia¬bilei cookie; dupa ora specificata, variabila cookie nu mai este accesibila.
In general, este convenabil sa se specifice momentul expirarii folosind functia time(), care returneaza intervalul de timp (exprimat in secunde) scurs de la 1 ianua¬rie 1970. Puteti adauga o valoare de tip decalaj (offset), care specifica intervalul de timp pe durata caruia variabila cookie trebuie sa fie accesibila. De exemplu, sa luam in considerare urmatoarea instructiune:

setcookie(„fruct”, „banana”, time()+3600);

Aceasta instructiune creeaza o variabila cookie denumita fruct, care are valoarea banana. Variabila cookie va fi disponibila timp de o ora (3600 secunde) de la crearea sa.
Daca preferati, puteti specifica momentul expirarii folosind functia mktime (). Aceasta functie are urmatoarea forma:

mktime(ore,minute,secunde,luna,zi,an)

De exemplu, urmatoarea instructiune creeaza o variabila cookie care expira la o secunda dupa miezul noptii primei zile a anului 2005:

Setcookie(„fruct”, „banana”, mktime(0, 0, 1, 1, 1, 2005));

<Avertisment>
Valorile variabilelor cookie sunt trimise de catre browser ca parte a antetelor HTTP. Ca atare, valorile variabilelor cookie trebuie sa fie stabilite anterior expedierii oricaror altor valori catre browser. Trimiterea fie si a unui singur spatiu va poate impiedica sa configurati valoarea unei variabile cookie. Pentru a evita problemele, asigurati-va ca un script PHP care stabileste o valoare a unei variabile cookie este plasat in partea superioara a fisierului, fara caractere de tip spatiu alb care sa-l preceada. De asemenea, stabiliti valoarea variabilei cookie inainte de a executa o instructiune echo sau o alta instructiune PHP care trimite browserului date de iesire.</avertisment>

<Sfatul specialistului>
Intrebare: Ce este un antet HTTP?
Raspuns: inainte de a trimite date HTML unui browser, un server Web trimite, in general, unul sau mai multe antete HTTP; aceste antete sunt cunoscute

sub numele de antete de raspuns al serverului. Similar, inainte de a trimite informatii unui server Web, un browser Web trimite, in general, unul sau mai multe antete HTTP; aceste antete sunt cunoscute sub numele de antete de cerere. Antetele de raspuns al serverului frecvent folosite descriu configuratia serverului si furnizeaza informatii referitoare la adresa URL solicitata de client. Antetele de cerere utilizate de obicei descriu configuratia clientului si formatele de date acceptabile de catre client.
In afara de antetele de raspuns al serverului si de antetele de cerere, protocolul HTTP foloseste antete generale si antete de entitate. Antetele generale sunt folosite atat de catre clienti, cat si de catre servere, pentru a specifica informatii precum data curenta si optiunile de conexiune. Antetele de entitate descriu formatul datelor schimbate de un client si un server.
</sfatul specialistului>

<titlu>Stergerea unei variabile cookie</titlu>

Deoarece o variabila cookie are o data de expirare, aceasta va fi stearsa automat la un oarecare interval de timp dupa crearea sa. Totusi, puteti sterge o variabila cookie imediat. Pentru aceasta, fixati momentul expirarii variabilei cookie la un moment de timp din trecut. De exemplu, pentru a sterge o variabila cookie denumit fruct, puteti folosi urmatoarea instructiune:

Setcookie(„fruct”, „”, time()-3600);

Aceasta instructiune stabileste timpul de expirare cu o ora (3600 de secunde) in urma. Remarcati ca valoarea variabilei cookie este exprimata sub forma unui sir vid; din moment ce variabila cookie nu va mai fi disponibila, valoarea sa nu mai are importanta.

<Test „la minut">
• Care este variabila PHP folosita pentru a include numele fiecarei variabile cookie disponibile?
• Care este functia utilizata pentru crearea unei variabile cookie?
• Care este functia folosita pentru stergerea unei variabile cookie?
</Test „la minut">

<nota>
Raspunsuri la test:
• $HTTP_COOKIE_VARS setcookie()|setcookie() |
• setcookie()
• setcookie()
</nota>

<titlu>Tehnici avansate de utilizare a variabilelor cookie</titlu>

Aceasta sectiune prezinta unele tehnici mai avansate pentru lucrul cu variabile cookie. Prima sub-sectiune explica modul de stocare a mai mult de 20 de valori intr-o singura variabila cookie. Cea de-a doua sub-sectiune explica modul de utili¬zare a mai multor argumente suplimentare ale functiei setcookie ().

<titlu>Stocarea mai multor valori intr-o variabila cookie</titlu>
Deoarece un sit Web poate stoca numai 20 de variabile cookie in sistemul unui utilizator, capacitatea de a stoca mai multe valori intr-o singura variabila cookie este utila, in conformitate cu manualul PHP pe suport electronic, puteti realiza acest lucru prin specificarea unui tablou ca nume al variabilei cookie. De exemplu, puteti folosi un program ca acesta:

//Un exemplu eronat de variabila cookie cu mai multe valori for ($i = 0; $i < 30; $i++)
A setcookie(„cookiesa$ii”, „$i”);
S

(isset($cookies))
A foreach ($cookies as $i => $cookie)
A echo „<BR>$i => $cookie”;
S
S

Din pacate, acest procedeu nu functioneaza. Contrar informatiilor din manualul PHP, fiecare element al tabloului este stocat intr-o variabila cookie separata. Astfel, prin utilizarea acestui procedeu nu puteti stoca mai mult de 20 de valori.
Pe de alta parte, stocarea mai multor valori intr-o singura variabila cookie este posibila. Pentru aceasta, inserati valorile intr-un tablou si folositi functia serialize() pentru a „impacheta" elementele tabloului intr-un sir; ulterior, puteti recupera valoarea tabloului folosind functia unserialize(). Iata un exemplu care prezinta modul de creare a unei variabile cookie care contine mai multe valori, precum si modul de acces la aceasta:

// Se creeaza un tablou for ($i = 0; $i < 30; $i++)
A
$tabloua$ii=$i;
S

// Se impacheteaza intregul tablou intr-un sir
$s = serialize($tablou);

// Se creeaza o variabila cookie si se stabileste valoarea sa setcookie(„cookies”,$s);

if(isset($cookies))
A
//Se despacheteaza valoarea variabilei cookie
$tablou = unserialize(stripslashes($cookies));

// Demonstreaza ca totul este in ordine,
// prin afisarea elementelor tabloului foreach ($tablou as $i => $cookie)
A echo „<BR>$i => $cookie”;
S
S

Functia stripslashes() este folosita pentru eliminarea secventelor escape adaugate la sir atunci cand valoarea variabilei cookie este returnata de PHP.

<Avertisment>
Desi acest procedeu reuseste sa ocoleasca limita celor 20 de variabile cookie, nu poate depasi limita celor 4KB de date stocate intr-o variabila cookie pentru fiecare sit Web in parte. Daca doriti sa stocati mai mult de 4KB de date, trebuie sa stocati datele intr-o baza de date pe parte de server sau intr-un alt loc decat o variabila cookie. </Avertisment>

<titlu>Specificarea accesului la o variabila cookie si alte optiuni</titlu>
Functia setcookie() poate prelua maximum sase argumente, inclusiv trei argumente despre care nu am discutat inca. Iata formatul complet al functiei setcookie():

setcookie(nume, valoare, expirare, cale, domeniu, sigur)

Argumentele nume, valoare si expirare au fost descrise in sectiunea precedenta a acestui modul.
Argumentul cale va permite sa specificati calea URL asociata variabilei cookie. In mod prestabilit, variabila cookie este disponibila pentru scripturile din catalogul care contine scriptul in care a fost configurata variabila respectiva, precum si pentrul scripturile din sub-cataloagele aferente catalogului respectiv. In particular, scriptu¬rilor din cataloagele parinte ale catalogului care contine scriptul nu li se permite accesul prestabilit la variabila cookie.

Pentru a pune variabila cookie la dispozitia scripturilor dintr-un anumit catalog din sub-cataloagele sale, specificati o valoare a argumentului cale. De exemplu, pentru a pune variabila cookie la dispozitia intregului arbore de cataloage, specificati " /" ca valoare a argumentului cale; pentru a face variabila cookie disponibila in catalogul /-test si in sub-cataloagele sale, specificati "/-test/" ca valoare a argu¬mentului cale.

<Avertisment.>
O complicatie in utilizarea argumentului cale o constituie modalitatea de identificare a numelor cataloagelor. Specificand "/-test/" ca valoarea argumentului cale, variabila cookie va deveni disponibila in /-test1, /-test2 si in toate cataloagele cu nume similare, pe langa catalogul /-test si sub-cataloagele sale. </Avertisment.>

Daca nu este specificat nici un argument domeniu, o variabila cookie este disponi¬bila numai pentru scripturile rezidente pe serverul Web care a creat variabila respec¬tiva. Argumentul domeniu va permite sa specificati numele de domeniu asociat unei variabile cookie. In consecinta, variabila cookie va fi disponibila numai pentru siturile Web din cadrul domeniului specificat. De exemplu, sa presupunem ca un script din serverul Web https://www.subdomeniu.domeniu.com creeaza o variabila cookie. In mod prestabilit, variabila cookie este disponibila numai pentru gazda respectiva. Cu toate acestea, puteti face variabila cookie disponibila pe intreg domeniul subdomeniu.domeniu.com, specificand "subdomeniu.domeniu.com" ca valoare a argumentului domeniu.

<Sugestie>
Specificatia Netscape pentru variabile cookie (https://www.netscape.com/newsref/std/cookie_spec.html) impune ca argumentul domeniu sa contina minimum doua caractere punct. Ca atare, nu trebuie sa specificati un sir de tipul "domeniu.com" ca valoare a argu¬mentului domeniu.
Argumentul sigur este o valoare intreaga, care specifica daca variabila cookie trebuie trimisa prin intermediul unei conexiuni sigure (HTTPS). Specificati valoarea l pentru a impiedica transmiterea variabilei cookie in cazul in care conexiunea nu este sigura; pentru a permite transmiterea variabilei cookie prin conexiuni HTTP obisnuite, specificati valoarea 0. </Sugestie>

<Sfatul specialistului>
Intrebare: Daca o persoana cu acces la unitatea de hard-disc a utilizatorului poate citi valorile stocate intr-o variabila cookie, cum se poate pastra confidentialitatea informatiilor stocate in aceasta variabila?
Raspuns: Deoarece browserele stocheaza variabilele cookie in unitatea de hard-disc locala, utilizatorii unui sistem pot obtine accesul la fisierele cookie si pot citi sau chiar modifica informatiile continute in fisierele respective. O modali¬tate de a preveni situatia prezentata consta in criptarea datelor stocate in variabi¬lele cookie. Pentru aceasta, puteti folosi functiile Mcrypt din PHP. Functiile in cauza sunt incluse in biblioteca libmcrypt, care nu face parte din versiunea instalata

in mod prestabilit a limbajului PHP; deci, este posibil sa fiti obligat a solicita administratorului dumneavoastra de sistem sa instaleze biblioteca si sa configureze PHP astfel incat sa fie capabil sa obtina accesul la aceasta. Pentru informatii despre instalarea si utilizarea functiilor Mcrypt, vezi adresa https://www.php.net.
</Sfatul specialistului>

<Avertisment>
Desi argumentele expirare si cale ale functiei setcookie () sunt optionale, unele versiuni ale principalelor browsere prezinta erori care le determina sa refuze variabilele cookie daca aceste argumente nu sunt specificate. Ca atare, in general este recomandat sa specificati aceste argumente. </Avertisment>

<Test „la minut">
• Care este numarul de valori care pot fi asociate unui fisier cookie?
• Care este functia folosita pentru codificarea unui tablou astfel incat unei variabile cookie sa-i poata fi asociate mai multe valori?
• Pentru a indica faptul ca o variabila cookie trebuie sa fie trimisa numai prin intermediul unei conexiuni sigure (HTTPS), care este valoarea pe care trebuie sa o primeasca argumentul sigur al functiei setcookie()?</Test „la minut">

<titlu>Proiect 10-1: O pagina de deschidere a sesiunii de lucru</titlu>
In cadrul acestui proiect, veti construi o pagina HTML si un script PHP care permit unui utilizator sa deschida sesiunea de lucru cu un sistem. Pagina permite utilizatorului sa introduca un identificator de utilizator si o parola, care sunt autentificate de script prin confruntarea cu un set stocat de identificatori de utilizator si parole corecte. Daca autentificarea utilizatorului reuseste, scriptul configureaza o variabila cookie care indica scripturilor ulterioare ca utilizatorul a fost autentificat.

<titlu>Scopurile proiectului</titlu>

• Prezentarea unei aplicatii a variabilelor cookie
• Prezentarea modului de creare a unei pagini simple de deschidere a sesiunii de lucru si a unui script

<titlu>Pas cu pas</titlu>
1. Plasati urmatorul script PHP intr-un fisier numit p-10-1.php si incarcati acest fisier in serverul dumneavoastra PHP:
<nota>
Raspunsuri la test:
• 20
• serialize()
• l
</nota>

<?
$parole = array("mihai" =>"portocala",
"stefan"=>"cartof",
"andrei" =>"arahida"); if ($parola == $parolea$nume_utilizatori)
A setcookie("nume_utilizator", $ nume_utilizator, time()+1200); echo "<H2>Accesul este permis.</H2>";
S else
A setcookie("nume_utilizator ", "", time()-3600); echo "<H2>Nume de utilizator sau parola incorecte: accesul interzis.</H2>";
S
?>

2. Plasati urmatorul text HTML intr-un fisier denumit p-10-1 .html si incarcati acest fisier in serverul dumneavoastra, inserandu-l in acelasi catalog ca si fisierul p-10-1 .php:

<HTML>
<HEAD>
<TITLE>Proiect 10-1</TITLE>
</HEAD>
<BODY>
<FORM METHOD=”POST” ACTION=”p-10-1.php”>
<H2>Proiect 10-1: Pagina de login</H2>
<BR><BR>
Numele utilizatorului:
<BR><INPUT TYPE=”PASSWORD” NAME=”parola” SIZE=”16”>
<BR><BR><BR><BR>
<INPUT TYPE=”SUBMIT” VALUE=”Trimite”>
</FORM>
</BODY>
</HTML>

3. Alocati un timp studiului scriptului PHP. Remarcati ca acesta autentifica datele introduse de utilizator comparandu-le cu valorile stocate intr-un tablou, intr-o aplicatie din lumea reala, valorile corecte sunt, mai probabil, stocate intr-o baza de date. Intr-un modul ulterior veti invata care este modul de lucru cu bazele de date.
4. De asemenea, remarcati ca variabila cookie este configurata astfel incat sa expire in 20 de minute. Scripturile ulterioare pot reinitializa momentul expirarii variabilei cookie, astfel incat autentificarea utilizatorului sa nu fie anulata in timp ce acesta lucreaza. Totusi, daca utilizatorul inceteaza sa mai foloseasca sistemul, momentul expirarii variabi¬lei cookie va garanta ca utilizatorul este automat scos din sistem dupa 20 de minute. Aceasta contribuie la evitarea breselor de securitate generate de utilizatori care parasesc o sesiune de lucru.
5. Orientati un browser Web spre adresa URL a fisierului HTML incarcat anterior. Ecranul browserului trebuie sa fie asemanator celui prezentat pe pagina urmatoare, in stanga. Introduceti un identificator de utilizator si o parola si executati clic pe butonul „Trimite".
6. Scriptul verifica datele pe care le-ati introdus. Daca ati introdus un identificator de utilizator si o parola corecte, trebuie sa vedeti un ecran asemanator celui prezentat pe pagina urmatoare, in dreapta; in caz contrar, veti vedea un ecran care contine un mesaj de eroare.

<ECRAN>
Project 10-l: LoginPage
<campuri>
UserName:
Password:
</campuri>
<buton>Submit</buton>
</ecran>

<ecran>
Access granted. </ecran>

<Test de evaluare>
1. Scrieti o instructiune PHP care creeaza o variabila cookie denumita corect, care are valoarea "false"; stabiliti ca variabila cookie sa expire in 30 de minute.
2. Scrieti o instructiune PHP care sterge o variabila cookie denumita trecut.
3. Scrieti o instructiune PHP care afiseaza valoarea variabilei cookie denumite varsta.
4. Scrieti o instructiune PHP care impacheteaza tabloul numit $continut intr-un sir denumit $x.
5. Scrieti o instructiune PHP care creeaza o variabila cookie numita oriunde, care are valoarea "aici". Variabila cookie trebuie sa expire in 30 de minute si trebuie sa fie accesibila in fiecare catalog al arborelui Web.


Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui document, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza documentul:
In prezent fisierul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite
Colt dreapta