Ce sunt cookie-urile? Cum își țin minte site-urile utilizatorii
Un cookie este un mic fragment de text pe care un site îi cere browserului tău să-l salveze și apoi să-l trimită înapoi la fiecare vizită ulterioară pe acel site. Așa își „amintește” un site de tine: că ești conectat, ce ai în coș, ce limbă ai ales. Cookie-urile sunt doar date, nu programe, dar pentru că pot identifica o persoană, contează atât pentru securitate, cât și pentru confidențialitate.
De ce contează când construiești cu AI
Cookie-urile stau sub mai multe funcții pe care le vei cere unui constructor AI, adesea fără ca termenul „cookie” să apară vreodată:
- Logarea. În majoritatea aplicațiilor web, „rămâi conectat” înseamnă un cookie de sesiune. Modul în care este configurat acel cookie decide cât de ușor poate fi furat.
- Coșuri și preferințe. Un coș care supraviețuiește unui refresh al paginii se bazează adesea pe un cookie sau pe spațiul de stocare al browserului.
- Analiză și publicitate. Adăugarea Google Analytics, a pixelului Meta sau a unui widget de chat adaugă de obicei cookie-uri de la alte companii.
- Notificări legale. În multe locuri, unele cookie-uri cer mai întâi acordul vizitatorului, de aici vin bannerele pentru cookie-uri.
Dacă știi ce cookie-uri setează aplicația ta și de ce, poți lua decizii mai bune despre setările de securitate, despre consimțământ și despre politica de confidențialitate.
O analogie din viața de zi cu zi
Gândește-te la tichetul de la garderobă. Îți dai haina și primești un tichet numerotat. Tichetul nu conține haina, ci doar un număr. De fiecare dată când revii la ghișeu arăți tichetul, iar funcționarul știe care haină este a ta.
Un cookie de sesiune funcționează la fel. Când te loghezi, serverul păstrează detaliile tale de partea lui și îi dă browserului tău un tichet, un ID lung și aleatoriu. Browserul arată acel tichet la fiecare cerere, iar serverul caută cine ești. Oricine copiază tichetul poate ridica haina, de aceea cookie-urile de logare trebuie protejate.
Cum funcționează efectiv un cookie
- Vizitezi un site. Răspunsul serverului include un antet ca
Set-Cookie: session_id=8f3k...; HttpOnly; Secure; SameSite=Lax. - Browserul îl salvează, legat de domeniul acelui site.
- La fiecare cerere ulterioară către același site, browserul adaugă automat
Cookie: session_id=8f3k.... - Serverul îl citește și știe că ești tu.
JavaScript-ul paginii poate crea și el cookie-uri, dar cele mai importante, cele de sesiune de logare, ar trebui setate de server și ascunse de JavaScript.
Tipuri de cookie-uri
| Tip | Ce înseamnă | Exemplu |
|---|---|---|
| Cookie de sesiune | Fără dată de expirare; se șterge când se închide sesiunea browserului | Un pas scurt din checkout |
| Cookie persistent | Are dată de expirare (Expires sau Max-Age) și rămâne după reporniri | „Ține-mă minte 30 de zile” |
| Propriu (first-party) | Setat de site-ul din bara de adrese | Logarea ta pe acel site |
| Terț (third-party) | Setat de alt domeniu inserat în pagină | Un ID de urmărire al unei rețele de publicitate |
| Strict necesar | Necesar unui serviciu pe care utilizatorul l-a cerut | Sesiunea de logare, coșul de cumpărături |
| Neesențial | Util pentru proprietarul site-ului, dar nu obligatoriu | Analiză, publicitate, teste A/B |
Browserele au restricționat treptat cookie-urile terțe, pentru că sunt folosite ca să urmărească oamenii între site-uri. Mai multe browsere majore blochează acum multe dintre ele implicit, iar detaliile se schimbă constant, deci nu construi nimic important pe cookie-uri terțe.
Un exemplu concret: un magazin online mic
Să spunem că ai construit un magazin care vinde lumânări lucrate manual. Iată cookie-urile pe care le-ar seta o versiune sensibilă și motivul fiecăruia.
session: setat când proprietarul sau un client se loghează. Conține doar un ID aleatoriu; serverul păstrează datele reale ale sesiunii. Setări: HttpOnly (scripturile paginii nu-l pot citi), Secure (este trimis doar prin HTTPS), SameSite=Lax (nu este trimis la majoritatea cererilor pornite de alte site-uri). Strict necesar.
cart_id: îi permite unui vizitator neconectat să-și păstreze coșul. Trimite către un coș salvat în baza de date. Strict necesar, pentru că vizitatorul a cerut să adauge produse în coș.
theme: ține minte modul întunecat. Ar putea fi un cookie, dar nu are nevoie niciodată să ajungă la server, deci localStorage din browser este mai simplu.
Cookie-uri de analiză: adăugate dacă instalezi un instrument de analiză. Sunt neesențiale. În UE și Marea Britanie cer de regulă consimțământ înainte de a fi setate, deci scriptul de analiză ar trebui să aștepte până când vizitatorul apasă „Accept”.
Observa ce nu stochează magazinul în cookie-uri: numele, adresa sau datele cardului clientului. Cookie-urile circulă cu fiecare cerere și rămân pe dispozitivul utilizatorului, deci ar trebui să conțină ID-uri, nu date personale.
Termeni comuni explicați
| Termen | Ce înseamnă |
|---|---|
| Cookie | O pereche mică nume–valoare pe care browserul o salvează și o trimite înapoi site-ului. |
Set-Cookie | Antetul de răspuns prin care un server creează sau actualizează un cookie. |
| Sesiune | Evidența serverului despre un utilizator conectat, legată de un ID din cookie. |
HttpOnly | Împiedică JavaScript-ul paginii să citească cookie-ul, ceea ce limitează daunele din scripturi injectate. |
Secure | Cookie-ul este trimis doar prin conexiuni HTTPS criptate. |
SameSite | Controlează dacă cookie-ul este trimis la cererile de pe alte site-uri (Strict, Lax sau None). |
Expires / Max-Age | Când trebuie șters cookie-ul. |
| Domain / Path | Ce adrese de pe site primesc cookie-ul. |
| localStorage | Spațiu de stocare din browser pe care codul paginii îl poate citi, dar care nu este trimis automat serverului. |
| XSS | Cross-site scripting: un script al unui atacator rulează în pagina ta și poate încerca să fure date. |
| CSRF | Cross-site request forgery: alt site păcălește browserul să trimită o cerere cu cookie-urile tale. |
| Consimțământ pentru cookie-uri | Cererea acordului vizitatorilor înainte de a seta cookie-uri neesențiale. |
Greșeli și idei greșite frecvente
- „Cookie-urile sunt viruși.” Sunt text simplu. Nu pot rula cod pe calculatorul tău.
- Punerea de date sensibile în cookie-uri. Stochează un ID aleatoriu și păstrează detaliile pe server.
- Tokenuri de logare în localStorage. Orice script care rulează pe pagină poate citi localStorage, inclusiv unul injectat. Un cookie
HttpOnlynu poate fi citit deloc de scripturile paginii. - Lipsa flagurilor
SecureșiHttpOnly. Aceste două setări sunt ieftine și închid găuri frecvente. - Presupunerea că un banner acoperă totul. Un banner care încarcă analiza înainte ca cineva să apese „Accept” nu își face treaba.
- Uitarea deconectării. Deconectarea ar trebui să șteargă cookie-ul și să încheie sesiunea pe server, ca un cookie copiat să nu mai funcționeze.
- „Dacă nu folosesc cookie-uri, regulile de confidențialitate nu se aplică.” Reguli precum GDPR acoperă datele personale oriunde sunt stocate: localStorage, amprente ale dispozitivului și jurnalele serverului incluse.
Ce să ceri constructorului tău AI
- „Listează fiecare cookie pe care îl setează aplicația, la ce folosește, cât durează și dacă este strict necesar.”
- „Folosește pentru sesiunea de logare un cookie
HttpOnly,Secure,SameSite=Lax. Nu pune tokenuri de autentificare în localStorage.” - „Păstrează în cookie doar un ID de sesiune aleatoriu; datele sesiunii să fie pe server.”
- „La deconectare, șterge cookie-ul și invalidează sesiunea pe server.”
- „Nu încărca scripturile de analiză sau de marketing până când vizitatorul nu le acceptă și ține minte alegerea lui.”
- „Adaugă în politica de confidențialitate o secțiune despre cookie-uri care corespunde listei de mai sus.”
Pentru partea de consimțământ, vezi cum adaugi consimțământul pentru cookie-uri. Pentru legătura cookie-urilor cu logările, citește ce este autentificarea.
Cookie-urile în Mythex
Mythex nu oferă o logare integrată pentru utilizatorii aplicației tale, deci cookie-urile pe care le setează aplicația vin din codul ei și din instrumentele pe care le adaugi. De exemplu, un cookie de sesiune din abordarea de autentificare pe care o alegi. Cere agentului în chat să le listeze, să le strângă setările sau să adauge un banner de consimțământ, apoi verifică rezultatul în previzualizarea live înainte să publici. Rețeta din documentație despre adăugarea logării în aplicația ta este un bun punct de plecare, iar securitatea pentru aplicațiile pe care le construiești explică cum ții cheile și secretele departe de browser.
Întrebări
Ce este un cookie pe un site web?
Un cookie este un mic fragment de text pe care un site îi cere browserului tău să-l salveze. Browserul îl trimite înapoi cu fiecare cerere ulterioară către acel site, ceea ce îi permite site-ului să își amintească lucruri precum dacă ești conectat sau ce ai în coș.
Sunt cookie-urile periculoase?
Cookie-urile sunt doar date, nu programe, așa că nu pot rula cod și nu pot infecta un calculator. Problemele sunt de confidențialitate, atunci când cookie-urile terțe te urmăresc între site-uri, și de securitate, atunci când un cookie de logare este furat și folosit ca să te dea drept tine.
Care este diferența dintre cookie-urile proprii și cele terțe?
Un cookie propriu este setat de site-ul din bara de adrese, de exemplu un cookie de logare. Un cookie terț este setat de un alt domeniu inserat în pagină, cum ar fi o rețea de publicitate, și este adesea folosit ca să te urmărească pe multe site-uri.
Am nevoie de un banner pentru cookie-uri?
Depinde de unde sunt utilizatorii tăi și de ce cookie-uri folosești. În UE și Marea Britanie, cookie-urile neesențiale, cum sunt cele de analiză sau publicitate, cer de regulă acordul prealabil, în timp ce cookie-urile strict necesare serviciului, cum este sesiunea de logare, de obicei nu. Verifică regulile care se aplică în cazul tău.
Care este diferența dintre cookie-uri și localStorage?
Ambele salvează date în browser. Cookie-urile sunt trimise automat serverului cu fiecare cerere, ceea ce le face potrivite pentru logări. localStorage rămâne în browser și este citit doar de codul paginii, ceea ce îl face potrivit pentru preferințe, cum este tema vizuală.