Programare Web - Cookie-uri si sesiuni

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Programare Web - Cookie-uri si sesiuni - Presentation Transcript

    1. Programare Web Cookie -uri & sesiuni Dr. Sabin-Corneliu Buraga Facultatea de Informatica Universitatea “A.I.Cuza” – Iasi, Romania http://www.infoiasi.ro/~busaco/
      • Cookie -uri
      • Sesiuni
      cuprins
      • Mecanism standard care permite ca un server Web sa trimita anumite informatii pe calculatorul unui client (utilizator), prin intermediul browser -ului, sa ceara clientului sa stocheze aceste informatii pentru ca, ulterior, navigatorul sa returneze informatiile spre serverul WWW
      • Mijloc persistent de stocare a datelor pe masina clientului Web cu scopul de a fi accesate ulterior de pe server
      cookie -uri
      • Utilizari:
        • memorarea preferin t elor utilizatorilor
        • stocarea informa t iilor de autentificare
        • tranzac t ii i n cadrul comer t ul ui electronic
        • managementul sesiunilor Web
        • completarea automat a a formularelor
        • si multe altele
      cookie -uri
      • Tipuri:
        • Cookie -uri persistente
          • nu v or fi distrus e la i nchiderea navigatorului, ci v or fi memorat e i ntr-un fi s ier , perioada l or de via ta fiind stabilit a de creator ul cookie -urilor
        • Cookie -uri nepersistente
          • dispar la inchiderea browser -ului
      cookie -uri
      • Un cookie const a dintr-o pereche nume=valoare
      • Valoarea e ste un s ir de caractere codificat i n maniera URL-urilor
      • Datele referitoare la un cookie vor fi recep t ionate de navigator care men t ine o list a de cookie -uri apar t in i nd serverului c are le-a trimis
      • U n cookie e ste trimis unui client incluz i nd cimpul-antet Set-Cookie i ntr-un r a spuns HTTP
      cookie -uri
      • Set-Cookie: nume = valoare ; expires= data ; path= cale ; domain= domeniu ; secure
        • expires – data s i timpul c i nd cookie -ul va expira s i va fi s ters de pe disc
        • domain – numele simbolic al serverului care a generat cookie -ul
        • path – specifica un subset de URL-uri din domeniul corespunz a tor unui cookie
        • secure – cookie -ul este transmis doar daca tranzactia este sigura (via HTTPS)
      cookie -uri
      • Un cookie e transmis doar dac a i ntrune s te toate condi t iile de validitate (se potrivesc domeniul, calea de directoare, timpul de expirare s i securitatea canalului de comunica t ie)
      • Serverul va primi de la client, i n antetul HTTP, o linie de forma: Cookie: nume1=valoare1; nume2=valoare2...
      cookie -uri
      • Stocarea cookie -urilor persistente:
        • Netscape/Mozilla fisierul cookies sau cookies.txt
        • Internet Explorer fisiere nume@adresa.txt
      cookie -uri
      • Creare
        • CGI (bash) #!/bin/bash echo "Set-Cookie: culoare=verde; path=/; expires=Mon, 03 - Dec -200 7 07 : 33 : 00 GMT" ...
        • PHP – functia setcookie() <?php setcookie ( &quot; alta_culoare &quot; , &quot; albastra &quot; ); echo &quot; Un cookie de culoarea &quot; . $_COOKIE [ &quot; alta_culoare &quot; ]; ?>
      cookie -uri
      • Expirare
        • Se anuleaza valoarea si timpul, eventual resetindu-se si celelalte atribute ale cookie -ului
        • PHP <?php setcookie ( $nume_cookie, &quot;&quot;, 0, &quot;/&quot;, &quot;&quot;, 0); ?>
      cookie -uri
      • Consultare
        • Cookie -urile se regasesc in variabila-antet HTTP_COOKIE
        • CGI (Perl) @envpairs = split(/;/, $ENV{'HTTP_COOKIE'}); foreach $pair (@envpairs) { ($name, $value) = split(/=/, $pair); $cookie{$name} = $value; } $fundal = $cookie{'alta_culoare'};
        • PHP – cookie -ul este vazut ca o variabila: $_COOKIE[ ' nume_cookie ' ] (sau $ nume_cookie )
      cookie -uri
      • Consultare
        • Direct in navigator prin JavaScript: javascript:document.cookie
      cookie -uri
      • Retinem culoarea de fundal preferata de un utilizator:
      • define ('CULOARE_IMPLICITA', 'white');
      • // verificam daca exista culoarea
      • $culoare = $_REQUEST['culoare'];
      • if (!$culoare) { // nu exista
      • $culoare = CULOARE_IMPLICITA;
      • }
      • // setam cookie -ul sa expire peste 10 zile
      • if (! setcookie (' culoare_fundal ', $culoare, time()+ 60 * 60 * 24 * 10)) {
      • echo 'Cookie-ul n-a putut fi setat';
      • }
      cookie -uri | exemplu
      • <html>
      • <head>
      • <title>Culori preferate</title>
      • <style type=&quot;text/css&quot;>
      • body { background: <?php echo $ _COOKIE [' culoare_fundal ']; ?> }
      • </style>
      • </head>
      • <body>
      • <p>Alegeti culoarea de fundal preferata ce va aparea la urmatoarea vizita:</p>
      cookie -uri | exemplu (cont.)
      • <form action=&quot;<?php echo $_SERVER['PHP_SELF']; ?>&quot; method=&quot;post&quot;>
      • <select name=&quot;culoare&quot;>
      • <?php
      • // generam lista de culori
      • foreach (array ('cyan', 'yellow', 'white', 'pink', 'blue') as $c) {
      • echo '<option value=&quot;' . $c . '&quot;>' . $c . '</option>';
      • }
      • ?>
      • </select>
      • <input type=&quot;submit&quot; value=&quot;Alege culoarea&quot; />
      • </form>
      • </body></html>
      cookie -uri | exemplu (cont.)
      • HTTP este un protocol stateless , neputind oferi informatii daca cereri succesive provin de la acelasi client (eventual, de la aceeasi instanta a navigatorului)
      • Apare necesitatea de a prezerva anumite date de-a lungul mai multor accesari inrudite
        • Exemple: starea cosului de cumparaturi, formulare Web completate in mai multi pasi, paginarea continutului, starea autentificarii etc.
      sesiuni
      • Orice vizitator al sitului va avea asociat un identificator unic – session ID ( SID )
        • Stocat intr-un cookie ori propagat via URL
      • Unele servere de aplicatii garanteaza integritatea sesiunii si dupa o restartare (a serverului ori a aplicatiei)
      • Unei sesiuni i se pot asocia diverse variabile sa fie mentinute intre accesari consecutive
      • O sesiune se poate inregistra (initia) implicit sau explicit, in functie de serverul de aplicatii sau de configuratia stabilita
      sesiuni
      • Pentru PHP, exista functiile session_start() , session_register() , session_id() , session_unregister() , session_destroy()
        • Exemplu (contorizarea accesarilor): <?php session_start (); if (!isset($ _SESSION [' accesari '])) { $ _SESSION [' accesari '] = 0; } else { $ _SESSION [' accesari ']++; } ?>
      sesiuni
      • Cookie -uri
      • Sesiuni
      rezumat
      • Intrebari…?

    + Sabin BuragaSabin Buraga, 3 years ago

    custom

    2255 views, 1 favs, 0 embeds more stats

    Details about the management of cookies and session more

    More info about this document

    CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

    Go to text version

    • Total Views 2255
      • 2255 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 63
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories