SlideShare a Scribd company logo
1 of 14
SVEUČILIŠTE U RIJECI
ODJEL ZA INFORMATIKU
Preddiplomski studij informatike
Seminarski rad iz kolegija
OSNOVE INFORMATIKE
POSTAVLJANJE I ČIŠĆENJE
KOLAČIĆA
Autor: Matija Momčilović
Mentori: prof. dr. sc. Sanda Martinčić-Ipšić
dr. sc. Slobodan Beliga
U Rijeci, prosinac 2020.
Matija Momčilović: Postavljanje i čišćenje kolačića
1
Sadržaj
1. Uvod .................................................................................................................... 2
2. Općenito o kolačićima......................................................................................... 3
2.1 Izvor imena „kolačić“ ..................................................................................3
2.2 Povijest.........................................................................................................3
3. Vrste kolačića ...................................................................................................... 4
3.1 Session kolačići............................................................................................4
3.2 Ustrajni kolačići...........................................................................................4
3.3 Sigurnosni kolačići.......................................................................................4
3.4 HTTP-only kolačići......................................................................................4
3.5 Same-site kolačići ........................................................................................4
3.6 Kolačići trećih strana ...................................................................................4
3.7 Super-kolačići ..............................................................................................5
3.8 Zombi kolačići .............................................................................................5
4. Korištenje kolačića .............................................................................................. 6
4.1 Upravljanje sesijama....................................................................................6
4.2 Personalizacija .............................................................................................6
4.3 Praćenje........................................................................................................6
5. Implementacija .................................................................................................... 7
5.1 Struktura kolačića ........................................................................................7
5.2 Zahtjevi kolačića..........................................................................................7
5.3 Postavljanje kolačića....................................................................................7
5.4 Atributi kolačića...........................................................................................8
5.5 Brisanje kolačića..........................................................................................9
6. Zaključak ........................................................................................................... 10
7. Indeks ................................................................................................................ 11
8. Popis slika:......................................................................................................... 12
9. Literatura ........................................................................................................... 13
Matija Momčilović: Postavljanje i čišćenje kolačića
2
1. Uvod
Dok ste se koristili internetom sigurno ste se zapitali zašto vas internetske stranice
traže da prihvatite određene uvjete kada otvorite neku stranicu. Ti uvjeti zovu se kolačići
(engl. cookies) i tema su ovog seminara, u kojem ćemo saznati koja im je namjena, koje sve
vrste postoje, na koji način su nastali, te kako upravljati s njima.
Slika 1.1 Kolačić je homonim (Wikipedia 2020)
Matija Momčilović: Postavljanje i čišćenje kolačića
3
2. Općenito o kolačićima
2.1 Izvor imena „kolačić“
Izraz kolačić je izumljen od strane web programera zvanog Lou Montulli. Dolazi od
pojma „magic cookie“, koji je korišten od strane Unix programera za nepromijenjeni paket
podataka koji program dobiva i vraća.
2.2 Povijest
Pojam „magic cookies“ se već koristio u računarstvu, kada se programer Lou Montulli
dosjetio da ih može koristiti u internetskim komunikacijama 1994. godine (Schwartz 2001).
U to vrijeme bio je zaposlenik kompanije Netscape Communications, koja je razvijala
aplikaciju za e-trgovinu za tvrtku MCI. MCI nije želio da se podaci o transakcijama
zadržavaju na njihovim serverima, pa je zatražio od Netscape Communications-a da nađe
rješenje. Netscape pronalazi rješenje u obliku kolačića, te Lou podnosi zahtjev za patent
1995. godine (Montullli 1995), koji biva odobren 1998. godine (Kesan i Shah 2004).
Kolačići se počinju koristiti u Internet Explorer verziji 2, koja je objavljena u listopadu 1995.
godine.
Kolačići padaju pod povećalo javnosti tek 1996. godine, tek jednu cijelu godinu nakon
njihove implementacije kada je objavljen članak u novinama Financial Times koji javnosti
ukazuje na njihovo postojanje i namjenu (Jackson 1996). Mnogi su kritizirali kolačiće zbog
narušavanja privatnosti korisnika, te su 1997. godine (Network Working Group 1997) i
2011. godine (Internet Engineering Task Force (IETF) 2011) doneseni standardi koji štite
korisnike i njihovu privatnost u obliku protokola koji kontroliraju količinu i vrstu kolačića
koji se koriste.
Matija Momčilović: Postavljanje i čišćenje kolačića
4
3. Vrste kolačića
Postoji više vrsta kolačića. Svaki od njih ima različite atribute i namjene.
3.1 Session kolačići
Session kolačić se nalazi u privremenoj memoriji samo dok se korisnik nalazi na
internetskoj stranici. Internetski preglednici uglavnom brišu ovu vrstu kolačića kada korisnik
zatvori preglednik. Ova vrsta kolačića nema „rok trajanja“, te na taj način preglednik zna da
se radi o njima.
3.2 Ustrajni kolačići
Ustrajni kolačići se ne brišu kada se zatvori preglednik, nego nakon određenog
vremena ili određenog vremenskog perioda. Tvorac ustrajnih kolačića upravlja njihovim
životnim vijekom. Zbog svoje prirode još ih nazivaju „pratećim kolačićima“ zato što ih
mogu koristiti kompanije za oglašavanje kako bi pratili internetske navike tijekom dužeg
vremenskog perioda, ali mogu se koristiti i u sigurnosne svrhe.
3.3 Sigurnosni kolačići
Ovaj kolačić se može nalaziti samo na stranicama koje imaju kriptiranu vezu (npr.
Hyper Text Transfer Protocol (HTTP)). Ne mogu se nalaziti na ne kriptiranim stranicama,
što smanjuje šansu da budu izloženi krađi. Kolačić postaje siguran tako da mu se doda
oznaka Secure.
3.4 HTTP-only kolačići
HTTP-only kolačiću ne mogu pristupiti korisnički aplikacijski i programski protokoli,
te se time onemogućuje krađa XSS-om (cross-site scripting) (Wikipedia 2020). Kolačić
postaje HTTP-only tako da mu se dodaje oznaka HttpOnly.¸
3.5 Same-site kolačići
2016. godine Google Chrome verzija 51 je predstavljena i sa njom dolazi nova vrsta
kolačića koja se šalje samo ako je zahtjev upućen sa iste domene na kojoj je korisnik. Ova
vrsta sprječava CSRF (cross-site request forgery) napade (Netsparker n.d.).
3.6 Kolačići trećih strana
Uobičajeno je da se domena kolačića podudara sa domenom koju preglednik
trenutačno pretražuje. To se naziva kolačić prve strane. Međutim kolačići trećih strana su
kolačići čija domena se ne podudara sa trenutačnom. To se događa kada korisnik pregledava
reklame, poput slika, videa i likova. Ovi kolačići zato mogu koristiti za praćenje navika, te
nam se pomoću naših navika serviraju personalizirane i prilagođene reklame.
Matija Momčilović: Postavljanje i čišćenje kolačića
5
3.7 Super-kolačići
Super-kolačić je kolačić kojem izvor najjača razina domene poput .com domene.
Internet preglednici blokiraju ove kolačiće zato što ako dopušteni, napadači ih mogu koristiti
da promjene dopuštenja na drugim stranicama, te tako ukradu podatke.
3.8 Zombi kolačići
Zombi kolačić je vrsta kolačića koja se automatski ponovno kreira nakon što je
obrisan. Radi na principu da se sprema na više mjesta odjednom, te ako se primijeti njegova
odsutnost on se kreira s rezervnih lokacija.
Tablica 3.1 Vrste kolačića i mogućnost njihovog brisanja
Vrsta kolačića
Mogućnost
brisanja
Session kolačići DA
Ustrajni kolačići DA
Sigurnosni kolačići DA
HTTP-only kolačići DA
Same-site kolačići DA
Kolačići trećih strana DA
Super-kolačići DA
Zombi kolačići NE
Matija Momčilović: Postavljanje i čišćenje kolačića
6
4. Korištenje kolačića
4.1 Upravljanje sesijama
Kolačići su prvotno bili namijenjeni bilježenju artikala koje korisnici žele kupiti tako
da se podaci nalaze kod korisnika. Međutim danas se ti podaci nalaze u bazi podataka
servera. Server šalje identifikator korisniku u obliku raznih brojeva i slova da bi mogao
raspoznati različite korisnike. Još jedan popularan način korištenja kolačića je upisivanje
podataka za ulazak u razne stranice. Ti podaci se spremaju u kolačiće što eliminira potrebu
za ponovnim upisom, te znatno ubrzava rad. Zbog male veličine i velikog protoka kolačića,
količina podataka koju neka stranica može spremiti o korisniku je praktično beskonačna, što
je zabrinjavajuće.
4.2 Personalizacija
Kolačići se također mogu koristiti za spremanje podataka o određenom korisniku u
smislu prikazivanja sadržaja posebno napravljenih za tog korisnika. Reklame funkcioniraju
na ovaj način, te pokušavaju neprimjetno utjecati na ljudsku podsvijest (Exposure Labs
2020).
4.3 Praćenje
Kolačići se mogu koristiti i za praćenje navika pretraživanja korisnika, to čine s većom
preciznošću nego što bi se moglo pomoću IP adrese. Korporacije iskorištavaju korisničke
navike tako što skupljaju informacije. Novinska kuća The Wall Street Journal je otkrila da
je 50 najpopularnijih internetskih stranica instaliralo u prosjeku 64 programa za praćenje na
računala korisnika, koji su u prosjeku prikupili 3180 podataka (Lee 2012). Ovi podaci se
zatim prodaju korporacijama koje ponude najviše novca.
Slika 4.1 Primjer interakcije preglednika i servera (Wikipedia 2020)
Matija Momčilović: Postavljanje i čišćenje kolačića
7
5. Implementacija
5.1 Struktura kolačića
Kolačići se sastoje od: imena, vrijednosti i nijednog ili više atributa, poput Secure
ili HttpOnly.
5.2 Zahtjevi kolačića
Minimalne specifikacije Internet preglednika da bi mogao podržati kolačiće su: mogu
podržati kolačiće velike do 4096 bajtova, mogu podržati barem 50 kolačića po domeni i da
mogu podržati barem 3000 kolačića ukupno (Internet Engineering Task Force (IETF) 2011),
(Netscape Communications 2007).
5.3 Postavljanje kolačića
Kolačići se postavljaju korištenjem Set-Cookie HTTP (Hyper Text Transfer
Protocol) 1headera koji se šalje u HTTP serverskom odgovoru. Ovaj header govori
internetskom pregledniku da spremi kolačić i pošalje ga nazad u budućim razmjenama sa
serverom (preglednik ignorira zahtjev ako ne podržava kolačiće ili ako su kolačići blokirani).
Na primjer, preglednik šalje svoj prvi zahtjev za stranicu www.example.org :
GET /index.html HTTP/1.1
Host: www.example.org
...
Server odgovara sa 2 Set-Cookie headera:
HTTP/1.0 200 OK
Content-type: text/html
Set-Cookie: theme=light
Set-Cookie: sessionToken=abc123; Expires=Wed, 09 Jun 2021 10:18:14 GMT
...
1 HTTP headeri omogućuju klijentu i serveru razmjenjivanje dodatnih informacija (MDN Web Docs
2020)
Matija Momčilović: Postavljanje i čišćenje kolačića
8
Serverski HTTP odgovor govori pregledniku da postavi 2 kolačića. Prvi kolačić
„theme“ je session kolačić jer nema Expires ili Max-Age atribute. Session kolačići se
brišu kada se preglednik zatvori. Drugi „sessionToken“ je ustrajan kolačić jer sadrži
Expires atribut koji govori pregledniku da obriše kolačić nakon naznačenog vremena.
Zatim preglednik šalje zahtjev da posjeti spec.html stranicu. Ovaj zahtjev sadrži
Cookie HTTP header koji sadrži 2 kolačića koje je server naredio pregledniku da postavi.
GET /spec.html HTTP/1.1
Host: www.example.org
Cookie: theme=light; sessionToken=abc123
…
Na ovaj način server zna da je ovaj zahtjev povezan s prošlim zahtjevom jer je
„sessionToken“ identičan. Server bi zatim odgovorio sa traženom internetskom stranicom i
po mogućnosti još Set-Cookie headera koji mogu dodati još kolačića, modificirati ili
brisati postojeće.
Kolačić se može sastojati od bilo kojeg ASCII znaka koji se može ispisati osim , i ;
i znaka razmaka (Shannon 2012, Wikipedia 2020).
5.4 Atributi kolačića
Domain i Path atributi definiraju opseg kolačića. Ukratko oni govore pregledniku
kojoj stranici pripadaju. Zbog sigurnosnih razloga, kolačići mogu biti na svoju domenu i
njene pod domene. Na primjer: stranica example.org ne može postaviti kolačić sa domene
foo.com jer bi to dozvolilo domeni example.org da kontrolira kolačiće sa foo.com.
Expires atribut definira specifičan datum i vrijeme kada će preglednik obrisati
kolačić. Datum i vrijeme su naznačeni u obliku Wdy, DD Mon YYYY HH:MM:SS GMT ili
Wdy, 2DD Mon YY HH:MM:SS GMT. Osim ovakvog načina zadavanja vijeka trajanja kolačića
to također možemo izvršiti pomoću oznake Max-Age koja definira vijek trajanja kolačića
u sekundama. Jedan primjer:
HTTP/1.0 200 OK
Set-Cookie: lu=Rg3vHJZnehYLjVg7qi3bZjzg; Expires=Tue, 15 Jan 2021 21:47:38
GMT; Path=/; Domain=.example.com; HttpOnly
Set-Cookie: made_write_conn=1295214458; Path=/; Domain=.example.com
Set-Cookie: reg_fb_gate=deleted; Expires=Thu, 01 Jan 1970 00:00:01 GMT; Path=/;
Domain=.example.com; HttpOnly
Kolačić lu je određen da istekne 15. siječnja 2021. godine, te će biti korišten do tada.
Kolačić made_write_conn nema vrijeme isteka, što znači da je on session kolačić. Kolačić
2
YY mora biti veci ili jedak od 0 i manji ili jednak od 69 (Internet Engineering Task Force (IETF) 2011)
Matija Momčilović: Postavljanje i čišćenje kolačića
9
reg_fb_gate ima vrijednost „deleted“ što znači da mu je vrijeme isteka nekad u prošlosti
i preglednik će ga odmah obrisati ako mu se Domain i Path atributi podudaraju.
Secure i HttpOnly atributi nemaju vrijednosti poput prijašnjih atributa, već njihovo
postojanje indicira kako će sever i preglednik postupati. Secure atribut kriptira
komunikaciju, dok HttpOnly atribut govori pregledniku da koristi samo HTTP zahtjeve
(Shannon 2012, Wikipedia 2020).
5.5 Brisanje kolačića
Istina je da se neki kolačići brišu sami od sebe, poput session kolačića i ustrajnih
kolačića, dok se neki ne mogu uopće obrisati poput zombi kolačića, no ipak postoji način da
se riješimo većine njih na jednostavan i brz način. Otvorite Internet preglednik koji koristite,
te odite u postavke, zatim privatnost i sigurnost, te će biti ispisani svi kolačići, zajedno s
opcijom da se izbrišu (Google n.d.). Čineći ovo puno vlastitih informacija koje ste podijelili
će nestati, ali će se kretanje internetom usporiti zato što određene informacije vas neće više
„čekati“ na stranicama kada ih posjetite. Također se može koristiti i cookie manager koji
upravlja kolačićima i olakšava njihov pregled i brisanje. Treba spomenuti da postoji i opcija
da kada posjećujemo stranice odbijemo sve ne-obvezne kolačiće, te tako smanjujemo
količinu osobnih podataka koje dijelimo sa raznim korporacijama.
Matija Momčilović: Postavljanje i čišćenje kolačića
10
6. Zaključak
Nesporno je da je Internet pretraživanje sastavni dio današnje svakodnevice, te je u
današnjem užurbanom i vrlo produktivnom svijetu svaka sekunda i klik bitan. Kolačići mogu
znatno ubrzati pregledavanje internetom, ali pod kojom cijenom? Ta cijena je upravo naša
privatnost, koju zanemarujemo i dijelimo sa sve više ljudi, te naša podsvijest kojom se
upravlja bez našeg znanja i kontrole, serviranjem sadržaja skrojenih upravo za nas. Na nama
je da odlučimo da li smo spremni platiti tu cijenu za malo brži klik...
Matija Momčilović: Postavljanje i čišćenje kolačića
11
7. Indeks
ASCII, 8
atribut, 8, 9
bajt, 7
domena, 4
HTTP, 4, 7, 8, 9
Internetski preglednik, 4
internetska stranica, 4
kolačić, 3, 4, 5, 7, 8, 9
protokol, 4
server, 3
Unix, 3
web programer, 3
Matija Momčilović: Postavljanje i čišćenje kolačića
12
8. Popis slika:
Slika 1.1 Kolačić je homonim 2
Slika 4.1 Primjer interakcije preglednika i servera 6
Matija Momčilović: Postavljanje i čišćenje kolačića
13
9. Literatura
The Social Dilemma. Režirao Jeff Orlowski. Izvodi Exposure Labs. 2020.
Google. Brisanje i omogućivanje kolačića. n.d.
https://support.google.com/chrome/answer/95647?co=GENIE.Platform%3DDeskto
p&hl=hr (pokušaj pristupa 5. Prosinac 2020).
Internet Engineering Task Force (IETF). HTTP State Management Mechanism. Berkeley,
Travanj 2011.
Jackson, T. »This bug in your PC is a smart cookie .« Financial Times, 1996: 2-12.
Kesan, James, i Rajiv Shah. Deconstructing Code, SSRN. 19. Studeni 2004.
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=597543 (pokušaj pristupa 5.
Prosinac 2020).
Lee, Rainie. »Networked: The New Social Operating System.« The Wall Street Journal,
2012: 237.
MDN Web Docs. 16. Studeni 2020. https://developer.mozilla.org/en-
US/docs/Web/HTTP/Headers (pokušaj pristupa 5. Prosinac 2020).
Montullli, Lou. Persistent client state in a hypertext transfer protocol based client-server
system. Sjedinjene Američke Države Patent US5774670A. 6. listopad 1995.
Netscape Communications. Wayback machine. 5. Kolovoz 2007.
https://web.archive.org/web/20070805052634/http://wp.netscape.com/newsref/std/c
ookie_spec.html (pokušaj pristupa 5. prosinac 2020).
Netsparker. Netsparker. n.d. https://www.netsparker.com/blog/web-security/same-site-
cookie-attribute-prevent-cross-site-request-forgery/ (pokušaj pristupa 5. Prosinac
2020).
Network Working Group . HTTP State Management Mechanism. Veljača 1997.
Schwartz, John. The New York Times. 4. Rujan 2001.
https://www.nytimes.com/2001/09/04/business/giving-web-a-memory-cost-its-
users-privacy.html (pokušaj pristupa 5. Prosinac 2020).
Shannon, Ross. Cookies, HTML Source. 21. Kolovoz 2012.
https://www.yourhtmlsource.com/javascript/cookies.html (pokušaj pristupa 5.
Prosinac 2020).
Wikipedia. HTTP Cookie. 5. Prosinac 2020. https://en.wikipedia.org/wiki/HTTP_cookie
(pokušaj pristupa 5. Prosinac 2020).
—. HTTP kolačići. 30. Siječanj 2020.
https://hr.wikipedia.org/wiki/HTTP_kola%C4%8Di%C4%87i (pokušaj pristupa 5.
Prosinac 2020).

More Related Content

Featured

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming LanguageSimplilearn
 

Featured (20)

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
 

Momčilović Matija - Postavljanje i brisanje kolačića

  • 1. SVEUČILIŠTE U RIJECI ODJEL ZA INFORMATIKU Preddiplomski studij informatike Seminarski rad iz kolegija OSNOVE INFORMATIKE POSTAVLJANJE I ČIŠĆENJE KOLAČIĆA Autor: Matija Momčilović Mentori: prof. dr. sc. Sanda Martinčić-Ipšić dr. sc. Slobodan Beliga U Rijeci, prosinac 2020.
  • 2. Matija Momčilović: Postavljanje i čišćenje kolačića 1 Sadržaj 1. Uvod .................................................................................................................... 2 2. Općenito o kolačićima......................................................................................... 3 2.1 Izvor imena „kolačić“ ..................................................................................3 2.2 Povijest.........................................................................................................3 3. Vrste kolačića ...................................................................................................... 4 3.1 Session kolačići............................................................................................4 3.2 Ustrajni kolačići...........................................................................................4 3.3 Sigurnosni kolačići.......................................................................................4 3.4 HTTP-only kolačići......................................................................................4 3.5 Same-site kolačići ........................................................................................4 3.6 Kolačići trećih strana ...................................................................................4 3.7 Super-kolačići ..............................................................................................5 3.8 Zombi kolačići .............................................................................................5 4. Korištenje kolačića .............................................................................................. 6 4.1 Upravljanje sesijama....................................................................................6 4.2 Personalizacija .............................................................................................6 4.3 Praćenje........................................................................................................6 5. Implementacija .................................................................................................... 7 5.1 Struktura kolačića ........................................................................................7 5.2 Zahtjevi kolačića..........................................................................................7 5.3 Postavljanje kolačića....................................................................................7 5.4 Atributi kolačića...........................................................................................8 5.5 Brisanje kolačića..........................................................................................9 6. Zaključak ........................................................................................................... 10 7. Indeks ................................................................................................................ 11 8. Popis slika:......................................................................................................... 12 9. Literatura ........................................................................................................... 13
  • 3. Matija Momčilović: Postavljanje i čišćenje kolačića 2 1. Uvod Dok ste se koristili internetom sigurno ste se zapitali zašto vas internetske stranice traže da prihvatite određene uvjete kada otvorite neku stranicu. Ti uvjeti zovu se kolačići (engl. cookies) i tema su ovog seminara, u kojem ćemo saznati koja im je namjena, koje sve vrste postoje, na koji način su nastali, te kako upravljati s njima. Slika 1.1 Kolačić je homonim (Wikipedia 2020)
  • 4. Matija Momčilović: Postavljanje i čišćenje kolačića 3 2. Općenito o kolačićima 2.1 Izvor imena „kolačić“ Izraz kolačić je izumljen od strane web programera zvanog Lou Montulli. Dolazi od pojma „magic cookie“, koji je korišten od strane Unix programera za nepromijenjeni paket podataka koji program dobiva i vraća. 2.2 Povijest Pojam „magic cookies“ se već koristio u računarstvu, kada se programer Lou Montulli dosjetio da ih može koristiti u internetskim komunikacijama 1994. godine (Schwartz 2001). U to vrijeme bio je zaposlenik kompanije Netscape Communications, koja je razvijala aplikaciju za e-trgovinu za tvrtku MCI. MCI nije želio da se podaci o transakcijama zadržavaju na njihovim serverima, pa je zatražio od Netscape Communications-a da nađe rješenje. Netscape pronalazi rješenje u obliku kolačića, te Lou podnosi zahtjev za patent 1995. godine (Montullli 1995), koji biva odobren 1998. godine (Kesan i Shah 2004). Kolačići se počinju koristiti u Internet Explorer verziji 2, koja je objavljena u listopadu 1995. godine. Kolačići padaju pod povećalo javnosti tek 1996. godine, tek jednu cijelu godinu nakon njihove implementacije kada je objavljen članak u novinama Financial Times koji javnosti ukazuje na njihovo postojanje i namjenu (Jackson 1996). Mnogi su kritizirali kolačiće zbog narušavanja privatnosti korisnika, te su 1997. godine (Network Working Group 1997) i 2011. godine (Internet Engineering Task Force (IETF) 2011) doneseni standardi koji štite korisnike i njihovu privatnost u obliku protokola koji kontroliraju količinu i vrstu kolačića koji se koriste.
  • 5. Matija Momčilović: Postavljanje i čišćenje kolačića 4 3. Vrste kolačića Postoji više vrsta kolačića. Svaki od njih ima različite atribute i namjene. 3.1 Session kolačići Session kolačić se nalazi u privremenoj memoriji samo dok se korisnik nalazi na internetskoj stranici. Internetski preglednici uglavnom brišu ovu vrstu kolačića kada korisnik zatvori preglednik. Ova vrsta kolačića nema „rok trajanja“, te na taj način preglednik zna da se radi o njima. 3.2 Ustrajni kolačići Ustrajni kolačići se ne brišu kada se zatvori preglednik, nego nakon određenog vremena ili određenog vremenskog perioda. Tvorac ustrajnih kolačića upravlja njihovim životnim vijekom. Zbog svoje prirode još ih nazivaju „pratećim kolačićima“ zato što ih mogu koristiti kompanije za oglašavanje kako bi pratili internetske navike tijekom dužeg vremenskog perioda, ali mogu se koristiti i u sigurnosne svrhe. 3.3 Sigurnosni kolačići Ovaj kolačić se može nalaziti samo na stranicama koje imaju kriptiranu vezu (npr. Hyper Text Transfer Protocol (HTTP)). Ne mogu se nalaziti na ne kriptiranim stranicama, što smanjuje šansu da budu izloženi krađi. Kolačić postaje siguran tako da mu se doda oznaka Secure. 3.4 HTTP-only kolačići HTTP-only kolačiću ne mogu pristupiti korisnički aplikacijski i programski protokoli, te se time onemogućuje krađa XSS-om (cross-site scripting) (Wikipedia 2020). Kolačić postaje HTTP-only tako da mu se dodaje oznaka HttpOnly.¸ 3.5 Same-site kolačići 2016. godine Google Chrome verzija 51 je predstavljena i sa njom dolazi nova vrsta kolačića koja se šalje samo ako je zahtjev upućen sa iste domene na kojoj je korisnik. Ova vrsta sprječava CSRF (cross-site request forgery) napade (Netsparker n.d.). 3.6 Kolačići trećih strana Uobičajeno je da se domena kolačića podudara sa domenom koju preglednik trenutačno pretražuje. To se naziva kolačić prve strane. Međutim kolačići trećih strana su kolačići čija domena se ne podudara sa trenutačnom. To se događa kada korisnik pregledava reklame, poput slika, videa i likova. Ovi kolačići zato mogu koristiti za praćenje navika, te nam se pomoću naših navika serviraju personalizirane i prilagođene reklame.
  • 6. Matija Momčilović: Postavljanje i čišćenje kolačića 5 3.7 Super-kolačići Super-kolačić je kolačić kojem izvor najjača razina domene poput .com domene. Internet preglednici blokiraju ove kolačiće zato što ako dopušteni, napadači ih mogu koristiti da promjene dopuštenja na drugim stranicama, te tako ukradu podatke. 3.8 Zombi kolačići Zombi kolačić je vrsta kolačića koja se automatski ponovno kreira nakon što je obrisan. Radi na principu da se sprema na više mjesta odjednom, te ako se primijeti njegova odsutnost on se kreira s rezervnih lokacija. Tablica 3.1 Vrste kolačića i mogućnost njihovog brisanja Vrsta kolačića Mogućnost brisanja Session kolačići DA Ustrajni kolačići DA Sigurnosni kolačići DA HTTP-only kolačići DA Same-site kolačići DA Kolačići trećih strana DA Super-kolačići DA Zombi kolačići NE
  • 7. Matija Momčilović: Postavljanje i čišćenje kolačića 6 4. Korištenje kolačića 4.1 Upravljanje sesijama Kolačići su prvotno bili namijenjeni bilježenju artikala koje korisnici žele kupiti tako da se podaci nalaze kod korisnika. Međutim danas se ti podaci nalaze u bazi podataka servera. Server šalje identifikator korisniku u obliku raznih brojeva i slova da bi mogao raspoznati različite korisnike. Još jedan popularan način korištenja kolačića je upisivanje podataka za ulazak u razne stranice. Ti podaci se spremaju u kolačiće što eliminira potrebu za ponovnim upisom, te znatno ubrzava rad. Zbog male veličine i velikog protoka kolačića, količina podataka koju neka stranica može spremiti o korisniku je praktično beskonačna, što je zabrinjavajuće. 4.2 Personalizacija Kolačići se također mogu koristiti za spremanje podataka o određenom korisniku u smislu prikazivanja sadržaja posebno napravljenih za tog korisnika. Reklame funkcioniraju na ovaj način, te pokušavaju neprimjetno utjecati na ljudsku podsvijest (Exposure Labs 2020). 4.3 Praćenje Kolačići se mogu koristiti i za praćenje navika pretraživanja korisnika, to čine s većom preciznošću nego što bi se moglo pomoću IP adrese. Korporacije iskorištavaju korisničke navike tako što skupljaju informacije. Novinska kuća The Wall Street Journal je otkrila da je 50 najpopularnijih internetskih stranica instaliralo u prosjeku 64 programa za praćenje na računala korisnika, koji su u prosjeku prikupili 3180 podataka (Lee 2012). Ovi podaci se zatim prodaju korporacijama koje ponude najviše novca. Slika 4.1 Primjer interakcije preglednika i servera (Wikipedia 2020)
  • 8. Matija Momčilović: Postavljanje i čišćenje kolačića 7 5. Implementacija 5.1 Struktura kolačića Kolačići se sastoje od: imena, vrijednosti i nijednog ili više atributa, poput Secure ili HttpOnly. 5.2 Zahtjevi kolačića Minimalne specifikacije Internet preglednika da bi mogao podržati kolačiće su: mogu podržati kolačiće velike do 4096 bajtova, mogu podržati barem 50 kolačića po domeni i da mogu podržati barem 3000 kolačića ukupno (Internet Engineering Task Force (IETF) 2011), (Netscape Communications 2007). 5.3 Postavljanje kolačića Kolačići se postavljaju korištenjem Set-Cookie HTTP (Hyper Text Transfer Protocol) 1headera koji se šalje u HTTP serverskom odgovoru. Ovaj header govori internetskom pregledniku da spremi kolačić i pošalje ga nazad u budućim razmjenama sa serverom (preglednik ignorira zahtjev ako ne podržava kolačiće ili ako su kolačići blokirani). Na primjer, preglednik šalje svoj prvi zahtjev za stranicu www.example.org : GET /index.html HTTP/1.1 Host: www.example.org ... Server odgovara sa 2 Set-Cookie headera: HTTP/1.0 200 OK Content-type: text/html Set-Cookie: theme=light Set-Cookie: sessionToken=abc123; Expires=Wed, 09 Jun 2021 10:18:14 GMT ... 1 HTTP headeri omogućuju klijentu i serveru razmjenjivanje dodatnih informacija (MDN Web Docs 2020)
  • 9. Matija Momčilović: Postavljanje i čišćenje kolačića 8 Serverski HTTP odgovor govori pregledniku da postavi 2 kolačića. Prvi kolačić „theme“ je session kolačić jer nema Expires ili Max-Age atribute. Session kolačići se brišu kada se preglednik zatvori. Drugi „sessionToken“ je ustrajan kolačić jer sadrži Expires atribut koji govori pregledniku da obriše kolačić nakon naznačenog vremena. Zatim preglednik šalje zahtjev da posjeti spec.html stranicu. Ovaj zahtjev sadrži Cookie HTTP header koji sadrži 2 kolačića koje je server naredio pregledniku da postavi. GET /spec.html HTTP/1.1 Host: www.example.org Cookie: theme=light; sessionToken=abc123 … Na ovaj način server zna da je ovaj zahtjev povezan s prošlim zahtjevom jer je „sessionToken“ identičan. Server bi zatim odgovorio sa traženom internetskom stranicom i po mogućnosti još Set-Cookie headera koji mogu dodati još kolačića, modificirati ili brisati postojeće. Kolačić se može sastojati od bilo kojeg ASCII znaka koji se može ispisati osim , i ; i znaka razmaka (Shannon 2012, Wikipedia 2020). 5.4 Atributi kolačića Domain i Path atributi definiraju opseg kolačića. Ukratko oni govore pregledniku kojoj stranici pripadaju. Zbog sigurnosnih razloga, kolačići mogu biti na svoju domenu i njene pod domene. Na primjer: stranica example.org ne može postaviti kolačić sa domene foo.com jer bi to dozvolilo domeni example.org da kontrolira kolačiće sa foo.com. Expires atribut definira specifičan datum i vrijeme kada će preglednik obrisati kolačić. Datum i vrijeme su naznačeni u obliku Wdy, DD Mon YYYY HH:MM:SS GMT ili Wdy, 2DD Mon YY HH:MM:SS GMT. Osim ovakvog načina zadavanja vijeka trajanja kolačića to također možemo izvršiti pomoću oznake Max-Age koja definira vijek trajanja kolačića u sekundama. Jedan primjer: HTTP/1.0 200 OK Set-Cookie: lu=Rg3vHJZnehYLjVg7qi3bZjzg; Expires=Tue, 15 Jan 2021 21:47:38 GMT; Path=/; Domain=.example.com; HttpOnly Set-Cookie: made_write_conn=1295214458; Path=/; Domain=.example.com Set-Cookie: reg_fb_gate=deleted; Expires=Thu, 01 Jan 1970 00:00:01 GMT; Path=/; Domain=.example.com; HttpOnly Kolačić lu je određen da istekne 15. siječnja 2021. godine, te će biti korišten do tada. Kolačić made_write_conn nema vrijeme isteka, što znači da je on session kolačić. Kolačić 2 YY mora biti veci ili jedak od 0 i manji ili jednak od 69 (Internet Engineering Task Force (IETF) 2011)
  • 10. Matija Momčilović: Postavljanje i čišćenje kolačića 9 reg_fb_gate ima vrijednost „deleted“ što znači da mu je vrijeme isteka nekad u prošlosti i preglednik će ga odmah obrisati ako mu se Domain i Path atributi podudaraju. Secure i HttpOnly atributi nemaju vrijednosti poput prijašnjih atributa, već njihovo postojanje indicira kako će sever i preglednik postupati. Secure atribut kriptira komunikaciju, dok HttpOnly atribut govori pregledniku da koristi samo HTTP zahtjeve (Shannon 2012, Wikipedia 2020). 5.5 Brisanje kolačića Istina je da se neki kolačići brišu sami od sebe, poput session kolačića i ustrajnih kolačića, dok se neki ne mogu uopće obrisati poput zombi kolačića, no ipak postoji način da se riješimo većine njih na jednostavan i brz način. Otvorite Internet preglednik koji koristite, te odite u postavke, zatim privatnost i sigurnost, te će biti ispisani svi kolačići, zajedno s opcijom da se izbrišu (Google n.d.). Čineći ovo puno vlastitih informacija koje ste podijelili će nestati, ali će se kretanje internetom usporiti zato što određene informacije vas neće više „čekati“ na stranicama kada ih posjetite. Također se može koristiti i cookie manager koji upravlja kolačićima i olakšava njihov pregled i brisanje. Treba spomenuti da postoji i opcija da kada posjećujemo stranice odbijemo sve ne-obvezne kolačiće, te tako smanjujemo količinu osobnih podataka koje dijelimo sa raznim korporacijama.
  • 11. Matija Momčilović: Postavljanje i čišćenje kolačića 10 6. Zaključak Nesporno je da je Internet pretraživanje sastavni dio današnje svakodnevice, te je u današnjem užurbanom i vrlo produktivnom svijetu svaka sekunda i klik bitan. Kolačići mogu znatno ubrzati pregledavanje internetom, ali pod kojom cijenom? Ta cijena je upravo naša privatnost, koju zanemarujemo i dijelimo sa sve više ljudi, te naša podsvijest kojom se upravlja bez našeg znanja i kontrole, serviranjem sadržaja skrojenih upravo za nas. Na nama je da odlučimo da li smo spremni platiti tu cijenu za malo brži klik...
  • 12. Matija Momčilović: Postavljanje i čišćenje kolačića 11 7. Indeks ASCII, 8 atribut, 8, 9 bajt, 7 domena, 4 HTTP, 4, 7, 8, 9 Internetski preglednik, 4 internetska stranica, 4 kolačić, 3, 4, 5, 7, 8, 9 protokol, 4 server, 3 Unix, 3 web programer, 3
  • 13. Matija Momčilović: Postavljanje i čišćenje kolačića 12 8. Popis slika: Slika 1.1 Kolačić je homonim 2 Slika 4.1 Primjer interakcije preglednika i servera 6
  • 14. Matija Momčilović: Postavljanje i čišćenje kolačića 13 9. Literatura The Social Dilemma. Režirao Jeff Orlowski. Izvodi Exposure Labs. 2020. Google. Brisanje i omogućivanje kolačića. n.d. https://support.google.com/chrome/answer/95647?co=GENIE.Platform%3DDeskto p&hl=hr (pokušaj pristupa 5. Prosinac 2020). Internet Engineering Task Force (IETF). HTTP State Management Mechanism. Berkeley, Travanj 2011. Jackson, T. »This bug in your PC is a smart cookie .« Financial Times, 1996: 2-12. Kesan, James, i Rajiv Shah. Deconstructing Code, SSRN. 19. Studeni 2004. https://papers.ssrn.com/sol3/papers.cfm?abstract_id=597543 (pokušaj pristupa 5. Prosinac 2020). Lee, Rainie. »Networked: The New Social Operating System.« The Wall Street Journal, 2012: 237. MDN Web Docs. 16. Studeni 2020. https://developer.mozilla.org/en- US/docs/Web/HTTP/Headers (pokušaj pristupa 5. Prosinac 2020). Montullli, Lou. Persistent client state in a hypertext transfer protocol based client-server system. Sjedinjene Američke Države Patent US5774670A. 6. listopad 1995. Netscape Communications. Wayback machine. 5. Kolovoz 2007. https://web.archive.org/web/20070805052634/http://wp.netscape.com/newsref/std/c ookie_spec.html (pokušaj pristupa 5. prosinac 2020). Netsparker. Netsparker. n.d. https://www.netsparker.com/blog/web-security/same-site- cookie-attribute-prevent-cross-site-request-forgery/ (pokušaj pristupa 5. Prosinac 2020). Network Working Group . HTTP State Management Mechanism. Veljača 1997. Schwartz, John. The New York Times. 4. Rujan 2001. https://www.nytimes.com/2001/09/04/business/giving-web-a-memory-cost-its- users-privacy.html (pokušaj pristupa 5. Prosinac 2020). Shannon, Ross. Cookies, HTML Source. 21. Kolovoz 2012. https://www.yourhtmlsource.com/javascript/cookies.html (pokušaj pristupa 5. Prosinac 2020). Wikipedia. HTTP Cookie. 5. Prosinac 2020. https://en.wikipedia.org/wiki/HTTP_cookie (pokušaj pristupa 5. Prosinac 2020). —. HTTP kolačići. 30. Siječanj 2020. https://hr.wikipedia.org/wiki/HTTP_kola%C4%8Di%C4%87i (pokušaj pristupa 5. Prosinac 2020).