Vodiči

Što su kolačići? Kako web-stranice vas pamte

Kolačić je mali tekstualni zapis koji web-stranica traži da vaš preglednik pohrani, a zatim ga pošalje natrag pri svakom sljedećem posjetu toj stranici. Tako web-stranica „pamti“ vas: da ste prijavljeni, što imate u košarici, koji jezik ste odabrali. Kolačići su samo podaci, a ne programi, ali budući da mogu identificirati vas, važni su i za sigurnost i za privatnost.

Zašto je to važno kad gradite s AI-jem

Kolačići leže ispod nekoliko značajki koje ćete tražiti od AI graditelja, često bez da se riječ „kolačić“ uopće spomene:

  • Prijava. U većini web aplikacija „ostani prijavljen“ znači kolačić sesije. Kako je taj kolačić konfiguriran, određuje koliko ga je lako ukrasti.
  • Košarice i postavke. Košarica koja preživi osvježavanje stranice često se oslanja na kolačić ili pohranu preglednika.
  • Analitika i oglasi. Dodavanje Google Analyticsa, Meta piksela ili widgeta za chat obično dodaje kolačiće drugih tvrtki.
  • Pravne obavijesti. Na mnogo mjesta neki kolačići traže prethodni pristanak posjetitelja, a odatle dolaze obavijesti o kolačićima.

Ako znate koje kolačiće vaša aplikacija postavlja i zašto, možete bolje birati sigurnosne postavke, pristanak i pravilnik o privatnosti.

Svakodnevna usporedba

Zamislite garderobni listić. Predate kaput i dobijete brojčani listić. Listić ne sadrži vaš kaput, samo broj. Svaki put kad se vratite na šalter pokažete listić, a službenik zna koji je vaš kaput.

Kolačić sesije radi isto. Kad se prijavite, poslužitelj zadržava vaše podatke na svojoj strani i daje pregledniku listić, dug nasumičan ID. Vaš preglednik pokazuje taj listić uz svaki zahtjev, a poslužitelj pogleda tko ste. Tko god kopira listić može uzeti kaput, zato kolačići za prijavu moraju biti zaštićeni.

Kako kolačić zapravo radi

  1. Posjetite stranicu. Odgovor poslužitelja uključuje zaglavlje poput Set-Cookie: session_id=8f3k...; HttpOnly; Secure; SameSite=Lax.
  2. Vaš preglednik ga sprema, vezano uz domenu te stranice.
  3. Pri svakom sljedećem zahtjevu prema istoj stranici preglednik automatski dodaje Cookie: session_id=8f3k....
  4. Poslužitelj ga čita i zna da ste to vi.

JavaScript stranice također može stvarati kolačiće, ali najvažnije, one za prijavu sesije, trebao bi postavljati poslužitelj i sakriti ih od JavaScripta.

Vrste kolačića

VrstaŠto značiPrimjer
Kolačić sesijeNema datum isteka; briše se kad se sesija preglednika završiKratki korak plaćanja
Trajni kolačićIma datum isteka (Expires ili Max-Age) i preživljava ponovna pokretanja„Zapamti me 30 dana“
Prve stranePostavlja stranica u adresnoj traciVaša prijava na toj stranici
Treće stranePostavlja druga domena ugrađena na stranicuID praćenja mreže oglasa
NužniPotrebni za uslugu koju je korisnik zatražioSesija prijave, košarica za kupnju
NeesencijalniKorisni vlasniku straniceAnalitika, oglašavanje, A/B testiranje

Preglednici su postupno ograničavali kolačiće trećih strana jer se koriste za praćenje ljudi kroz web-stranice. Nekoliko većih preglednika sada ih mnoge blokira prema zadanim postavkama, a detalji se stalno mijenjaju, pa ništa važno ne gradite na kolačićima trećih strana.

Primjer: mala online trgovina

Recimo da ste izradili trgovinu koja prodaje ručno izrađene svijeće. Evo kolačića koje bi razumna verzija postavljala i zašto.

session: postavlja se kad se vlasnik ili kupac prijavi. Sadrži samo nasumičan ID; pravi podaci sesije su na poslužitelju. Postavke: HttpOnly (skripte stranice ga ne mogu čitati), Secure (šalje se samo preko HTTPS-a), SameSite=Lax (ne šalje se uz većinu zahtjeva koje pokreću druge stranice). Nužan.

cart_id: omogućuje posjetitelju koji nije prijavljen da zadrži košaricu. Pokazuje na košaricu spremljenu u bazi podataka. Nužan, jer je posjetitelj zatražio da doda stvari u košaricu.

theme: pamti tamni način rada. Ovo bi mogao biti kolačić, ali nikad ne treba stići do poslužitelja, pa je localStorage preglednika jednostavniji.

Kolačići analitike: dodaju se ako instalirate alat za analitiku. Neesencijalni su. U EU i Velikoj Britaniji općenito traže pristanak prije postavljanja, pa skripta analitike treba čekati dok posjetitelj ne klikne „Prihvati“.

Primijetite što trgovina ne sprema u kolačiće: ime kupca, adresu ili podatke o kartici. Kolačići putuju uz svaki zahtjev i žive na uređaju korisnika, pa trebaju sadržavati ID-jeve, a ne osobne podatke.

Uobičajeni pojmovi objašnjeni

PojamŠto znači
KolačićMali par naziv–vrijednost koji preglednik pohranjuje i šalje natrag stranici.
Set-CookieZaglavlje odgovora kojim poslužitelj stvara ili ažurira kolačić.
SesijaZapis poslužitelja o prijavljenom korisniku, povezan s ID-jem kolačića.
HttpOnlySprječava da JavaScript stranice čita kolačić, što ograničava štetu od ubačenih skripti.
SecureKolačić se šalje samo preko šifriranih HTTPS veza.
SameSiteKontrolira hoće li se kolačić slati uz zahtjeve s drugih stranica (Strict, Lax ili None).
Expires / Max-AgeKad kolačić treba obrisati.
Domain / PathKoje adrese na stranici primaju kolačić.
localStoragePohrana preglednika koju može čitati kod stranice, ali koja se automatski ne šalje poslužitelju.
XSSCross-site scripting: napadačeva skripta koja radi na vašoj stranici i može pokušati ukrasti podatke.
CSRFCross-site request forgery: druga stranica navodi preglednik da pošalje zahtjev s vašim kolačićima.
Pristanak na kolačićeTraženje dopuštenja posjetitelja prije postavljanja neesencijalnih kolačića.

Uobičajene greške i zablude

  • „Kolačići su virusi.“ Obični su tekst. Ne mogu izvršavati kod na vašem računalu.
  • Stavljanje osjetljivih podataka u kolačiće. Spremite nasumičan ID, a pojedinosti držite na poslužitelju.
  • Tokeni za prijavu u localStorageu. Svaka skripta koja radi na stranici može čitati localStorage, uključujući ubačenu. Kolačić s HttpOnly skripte stranice uopće ne mogu čitati.
  • Nedostatak Secure i HttpOnly. Ove dvije oznake su jeftine i zatvaraju česte rupe.
  • Pretpostavka da banner pokriva sve. Banner koji učitava analitiku prije nego što itko klikne „Prihvati“ ne radi svoj posao.
  • Zaboravljena odjava. Odjava treba obrisati kolačić i završiti sesiju na poslužitelju, da kopirani kolačić prestane raditi.
  • „Ako ne koristim kolačiće, pravila o privatnosti se ne primjenjuju.“ Pravila poput GDPR-a pokrivaju osobne podatke gdje god se pohranjuju: lokalnu pohranu, otiske uređaja i zapise poslužitelja.

Što tražiti od AI graditelja

  • „Popiši svaki kolačić koji aplikacija postavlja, čemu služi, koliko traje i je li nužan.“
  • „Za sesiju prijave koristi kolačić s HttpOnly, Secure, SameSite=Lax. Ne stavljaj tokene za autentifikaciju u localStorage.“
  • „U kolačiću drži samo nasumičan ID sesije; podatke sesije drži na poslužitelju.“
  • „Pri odjavi obriši kolačić i poništi sesiju na poslužitelju.“
  • „Ne učitavaj analitičke ni marketinške skripte dok posjetitelj ne prihvati i zapamti njegov izbor.“
  • „Dodaj kratak odjeljak o kolačićima u pravilnik o privatnosti koji odgovara gornjem popisu.“

Za dio o pristanku pogledajte kako dodati pristanak na kolačiće. Za to kako se kolačići uklapaju u prijave, pročitajte što je autentifikacija.

Kolačići u Mythexu

Mythex ne daje ugrađenu prijavu za korisnike vaše aplikacije, pa kolačići koje vaša aplikacija postavlja dolaze iz njezinog vlastitog koda i alata koje dodate. Primjerice, kolačić sesije iz pristupa autentifikaciji koji odaberete. U chatu zamolite agenta da ih popiše, pooštri njihove postavke ili doda banner za pristanak, a rezultat provjerite u živom pregledu prije objave. Recept iz dokumentacije o dodavanju prijave u vašu aplikaciju dobro je polazište za upit, a sigurnost za aplikacije koje gradite pokriva držanje ključeva i tajni podalje od preglednika.

Pitanja

Što je kolačić na web-stranici?

Kolačić je mali tekstualni zapis koji web-stranica traži da pohrani vaš preglednik. Preglednik ga vraća uz svaki sljedeći zahtjev prema toj stranici, što omogućuje da stranica pamti stvari poput toga jeste li prijavljeni ili što imate u košarici.

Jesu li kolačići opasni?

Kolačići su samo podaci, a ne programi, pa ne mogu izvršavati kod niti zaraziti računalo. Zabrinutost se odnosi na privatnost, kad kolačići trećih strana prate vas kroz više stranica, i na sigurnost, kad se ukrade kolačić za prijavu i koristi za predstavljanje kao vi.

Koja je razlika između kolačića prve i treće strane?

Kolačić prve strane postavlja stranica koju vidite u adresnoj traci, primjerice kolačić za prijavu. Kolačić treće strane postavlja druga domena ugrađena na stranicu, primjerice mreža oglasa, i često se koristi za praćenje kroz mnoge stranice.

Trebam li obavijest o kolačićima?

To ovisi o tome gdje su vam korisnici i koje kolačiće koristite. U EU i Velikoj Britaniji neesencijalni kolačići, poput analitike ili oglašavanja, općenito traže prethodni pristanak, dok kolačići koji su nužni za uslugu, poput sesije prijave, obično ne. Provjerite pravila koja se primjenjuju na vas.

Koja je razlika između kolačića i localStorage-a?

Oba pohranjuju podatke u pregledniku. Kolačići se automatski šalju poslužitelju uz svaki zahtjev, što odgovara prijavama. localStorage ostaje u pregledniku i čita ga samo kod same stranice, što odgovara postavkama poput teme.

Mythex · Pricing · Izradite bilo što uz AI · Predlošci za web stranice i aplikacije · Mythex u usporedbi · Rječnik izrade aplikacija uz AI · Besplatni alati za izradu aplikacija uz AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)