Vrste kolačića: Cjeloviti tehnički vodič
Nisu svi kolačići jednaki. Vrsta kolačića određuje koliko dugo traje, tko ga može čitati, koliko sigurno putuje te — što je ključno — zahtijeva li privolu korisnika. Razumijevanje tih razlika bitno je i za usklađenost i za implementaciju.
Kolačići sesije naspram trajnih kolačića
Najosnovnija razlika jest koliko dugo kolačić traje.
Kolačići sesije
Kolačić sesije postoji samo za trajanja preglednikove sesije. Nema atribut Expires ni Max-Age. Kada korisnik zatvori preglednik, kolačić se briše.
Set-Cookie: cart_id=xyz789; Path=/; Secure; HttpOnly
Kolačići sesije obično se koriste za:
- Održavanje stanja prijave tijekom posjeta
- Sadržaj košarice za kupnju
- Tokene za zaštitu od CSRF-a
- Podatke iz višekoračnih obrazaca
Budući da kolačići sesije ne ostaju trajno, oni su općenito manje intruzivni sa stajališta privatnosti. Ipak, i za njih je potrebna privola ako nisu strogo nužni za uslugu koju je korisnik zatražio.
Trajni kolačići
Trajni kolačić ima izričit datum isteka. Preživljava ponovno pokretanje preglednika i ostaje na korisnikovom uređaju dok ne istekne ili dok se ručno ne obriše.
Set-Cookie: preferences_lang=en; Path=/; Max-Age=31536000; Secure
Ovaj će kolačić trajati godinu dana (31.536.000 sekundi). Uobičajene namjene uključuju:
- Funkcionalnost „zapamti me” pri prijavi
- Postavke jezika i teme
- Analitičke identifikatore (Google Analytics kolačići traju do 2 godine)
- Praćenje oglasa (neki oglasni kolačići traju 13 mjeseci ili više)
Trajni kolačići podliježu strožem nadzoru prema propisima o privatnosti. CNIL (francusko tijelo za zaštitu podataka) preporučilo je najduže trajanje kolačića od 13 mjeseci, a privolu je također potrebno obnavljati barem svakih 13 mjeseci.
Vlastiti (first-party) naspram kolačića treće strane
Ta je razlika u srži rasprave o privatnosti i izravno utječe na zahtjeve za privolom.
Vlastiti kolačići
Vlastiti kolačić postavlja domena koju korisnik zapravo posjećuje. Ako posjetite example.com, svaki kolačić koji postavi example.com jest vlastiti kolačić.
Vlastiti kolačići koriste se za osnovnu funkcionalnost web-stranice: sesije, postavke, analitiku koju vodi sam operater web-stranice. Može ih čitati isključivo domena koja ih je postavila.
Primjer: posjećujete shop.example.com. Poslužitelj postavlja kolačić naziva session_id. Taj se kolačić šalje samo domeni shop.example.com i njezinim poddomenama. Nijedna druga web-stranica ne može mu pristupiti.
Kolačići treće strane
Kolačić treće strane postavlja domena različita od one koju korisnik posjećuje. Kada example.com učita oglasnu skriptu s ads.tracker.com, a ta skripta postavi kolačić pod domenom tracker.com, to je kolačić treće strane.
Tako funkcionira praćenje između stranica. Kolačić tracker.com šalje se sa svakim zahtjevom prema tracker.com, bez obzira na to koja je web-stranica pokrenula zahtjev. Ako su skripte tracker.com ugrađene na 10.000 web-stranica, one mogu pratiti istog korisnika na svih 10.000 stranica.
Kolačići treće strane primarna su meta i regulatorne provedbe i ograničenja na razini preglednika:
- Safari standardno blokira kolačiće treće strane od 2020. (ITP)
- Firefox standardno blokira poznate pratitelje treće strane (ETP)
- Chrome se udaljava od kolačića treće strane inicijativom Privacy Sandbox
- Regulatorne provedbene mjere pretežno ciljaju kolačiće treće strane za praćenje
Sigurni (Secure) kolačići
Kolačić s atributom Secure šalje se samo putem HTTPS veza. Nikada se neće prenijeti putem nešifriranog HTTP-a.
Set-Cookie: auth_token=secret123; Secure
To sprječava napadača „čovjeka u sredini” da presretne kolačić na nesigurnoj vezi. Svaki kolačić koji sadrži osjetljive informacije — identifikatore sesije, tokene za autentifikaciju, osobne podatke — uvijek treba biti označen kao Secure.
Sa stajališta usklađenosti, propust u korištenju oznake Secure na osjetljivim kolačićima mogao bi se smatrati propustom u provedbi odgovarajućih tehničkih mjera prema članku 32. GDPR-a (sigurnost obrade).
HttpOnly kolačići
Kolačiću s atributom HttpOnly ne može pristupiti JavaScript putem document.cookie. Šalje se samo s HTTP zahtjevima prema poslužitelju.
Set-Cookie: session_id=abc123; HttpOnly
Riječ je o ključnoj sigurnosnoj mjeri. Napadi skriptama između stranica (XSS) često pokušavaju ukrasti kolačiće ubacivanjem JavaScripta koji čita document.cookie. Oznaka HttpOnly u potpunosti sprječava taj vektor.
Kolačići sesije i kolačići za autentifikaciju gotovo uvijek trebaju biti HttpOnly. Kolačići koje mora čitati JavaScript na strani klijenta (poput postavki koje utječu na sučelje) ne mogu biti HttpOnly.
SameSite kolačići
Atribut SameSite upravlja time šalje li se kolačić uz zahtjeve između stranica. Uveden je radi ublažavanja napada krivotvorenja zahtjeva između stranica (CSRF) i kako bi se stranicama dala veća kontrola nad ponašanjem kolačića između stranica.
SameSite=Strict
Kolačić se šalje samo uz zahtjeve koji potječu s iste stranice. Ako korisnik klikne poveznicu na other.com koja vodi na your-site.com, kolačić se neće poslati s tim početnim zahtjevom.
To je najsigurnija postavka, ali može narušiti legitimnu funkcionalnost. Primjerice, ako korisnik klikne poveznicu na vašu stranicu iz e-poruke, njegov se kolačić sesije neće poslati te će djelovati kao odjavljen.
SameSite=Lax
Kolačić se šalje uz navigacije najviše razine (klik na poveznicu), ali ne i uz podzahtjeve između stranica (učitavanje slika, okvira ili izradu AJAX zahtjeva s druge stranice). To je zadana postavka u modernim preglednicima ako atribut SameSite nije naveden.
Lax pruža razumnu ravnotežu između sigurnosti i uporabljivosti. Sprječava stranice treće strane da pokreću autentificirane radnje na vašoj stranici, dok i dalje omogućuje normalno funkcioniranje navigacije putem poveznica.
SameSite=None
Kolačić se šalje uz sve zahtjeve, uključujući zahtjeve između stranica. To je nužno kako bi kolačići treće strane funkcionirali. Kolačić postavljen s SameSite=None mora imati i atribut Secure.
Set-Cookie: tracking_id=xyz; SameSite=None; Secure
Svaki kolačić koji mora raditi u kontekstu između stranica (ugrađeni widgeti, autentifikacija treće strane, praćenje između stranica) mora koristiti SameSite=None. To postaje sve važnije kako preglednici pooštravaju svoje zadane pravilnike o kolačićima.
Zombi kolačići i superkolačići
Vrijedi ih spomenuti jer predstavljaju pokušaje zaobilaženja kontrola privatnosti:
- Zombi kolačići jesu kolačići koji se sami obnavljaju nakon što ih se obriše. Obično funkcioniraju tako što pohranjuju isti identifikator u više mehanizama pohrane (kolačići, localStorage, IndexedDB, Flash LSO) i koriste onaj koji preživi za obnavljanje ostalih. Ta se praksa uvelike smatra obmanjujućom i bila je predmet provedbenih mjera.
- Superkolačići jesu mehanizmi praćenja koji djeluju na razini ispod uobičajenih kolačića — poput ubacivanja zaglavlja na razini pružatelja internetskih usluga (Verizonov UIDH) ili uzimanja digitalnog otiska na temelju HSTS-a. Korisnicima ih je iznimno teško kontrolirati ili obrisati.
I zombi kolačići i superkolačići jasno su nespojivi sa zahtjevima GDPR-a i ePrivacy propisa. Njihova bi uporaba predstavljala kršenje načela transparentnosti, zakonitosti i smanjenja količine podataka.
Usporedna tablica
| Vrsta | Trajanje | Opseg | Je li obično potrebna privola? | Ključne namjene |
|---|---|---|---|---|
| Sesija | Samo za trajanja sesije preglednika | Vlastiti | Samo ako nisu ključni | Stanje prijave, košarica, CSRF tokeni |
| Trajni (vlastiti) | Od dana do godina | Vlastiti | Obično da | Postavke, analitika, „zapamti me” |
| Trajni (treće strane) | Od dana do godina | Između stranica | Gotovo uvijek da | Oglašavanje, retargeting, društveni widgeti |
| Secure | Varira | Samo HTTPS | Ovisi o svrsi | Svaki osjetljivi kolačić |
| HttpOnly | Varira | Samo strana poslužitelja | Ovisi o svrsi | ID-ovi sesije, tokeni za autentifikaciju |
| SameSite=Strict | Varira | Samo ista stranica | Ovisi o svrsi | Radnje osjetljive na CSRF |
| SameSite=Lax | Varira | Ista stranica + navigacija najviše razine | Ovisi o svrsi | Opće upravljanje sesijama |
| SameSite=None | Varira | Svi konteksti (zahtijeva Secure) | Gotovo uvijek da | Ugrađeni sadržaji treće strane, autentifikacija između stranica |
Što to znači za usklađenost
Vrsta kolačića izravno utječe na vaše obveze usklađivanja:
- Vlastiti kolačići sesije koji su strogo nužni (sesije prijave, košarice za kupnju, CSRF tokeni) izuzeti su od zahtjeva za privolom prema članku 5. stavku 3. ePrivacy propisa.
- Vlastiti trajni kolačići za analitiku, postavke ili funkcionalnost općenito zahtijevaju privolu — iako neka tijela za zaštitu podataka dopuštaju ograničene iznimke za vlastitu analitiku pod određenim uvjetima.
- Kolačići treće strane bilo koje vrste gotovo uvijek zahtijevaju izričitu prethodnu privolu. Postoji vrlo malo legitimnih iznimaka.
- Sigurnosni atributi (Secure, HttpOnly, SameSite) ne mijenjaju zahtjeve za privolom, ali njihova uporaba pokazuje dobru sigurnosnu praksu — što je i samo po sebi zahtjev GDPR-a.
Točno znati koje kolačiće vaša web-stranica postavlja — i koje je vrste svaki od njih — temelj je svakog programa usklađenosti. Passirov skener automatski prepoznaje i klasificira svaki kolačić na vašoj web-stranici, uključujući kolačiće treće strane koje postavljaju ugrađene skripte kojih možda niste ni svjesni.
Sada kada razumijemo vrste, pogledajmo kako se kolačići organiziraju u kategorije privole — sustav klasifikacije koji određuje kako se prikazuju u vašem bannneru za kolačiće.
Je li vaša web stranica usklađena s propisima o kolačićima?
Besplatno skenirajte svoju web stranicu i pronađite sve kolačiće u nekoliko minuta.
Besplatno skenirajte svoje kolačiće