You are on page 1of 10

Alternatieven voor cookies

De tweede kamer is akkoord over de nieuwe cookie wet, wat nu?

Onderzoeksrapport

Kevin Vermaat
0803465
INF3A

Opleiding Informatica
Hogeschool Rotterdam
Begeleidend docent: A. van der Molen
Versie 1: 10/07/2011
Samenvatting

Om gebruikers te herkennen maken websites gebruik van Cookies, dit zijn kleine beetjes informatie die
een server naar de browser stuurt met de bedoeling dat deze informatie bij een volgend bezoek weer
naar de server teruggestuurd word. Hiermee kan op een eenvoudige manier informatie over de
gebruiker bijgehouden worden. Vooralsnog werden deze Cookies automatisch opgeslagen. De nieuwe
cookie-wet houdt echter in dat er expliciet om toestemming gevraagd moet worden om cookies op te
slaan. Naast veel verwarring zorgt dit voor extra handelingen. In dit verslag worden alternatieven voor
Cookies besproken. Voorbeelden zijn: het gebruik maken van query strings, met JavaScript (scripttaal)
sessie variabelen aanmaken en gebruik maken van bezoekers IP-adres.
Inhoudsopgave
Samenvatting................................................................................................................................................. 1
1. Inleiding ................................................................................................................................................. 3
1.1 Achtergronden .............................................................................................................................. 3
1.2 Probleemstelling............................................................................................................................ 4
1.3 Onderzoeksvragen......................................................................................................................... 4
1.4 Doelgroep ...................................................................................................................................... 4
1.5 Bronnen ......................................................................................................................................... 4
1.6 Onderzoeksmethode ..................................................................................................................... 5
2. Het onderzoek ....................................................................................................................................... 6
2.1 Vooronderzoek .............................................................................................................................. 6
2.1.1 Internet gebruik volgen ......................................................................................................... 6
2.1.2 Sessie beheren....................................................................................................................... 6
2.1.3 Voorkeuren opslaan .............................................................................................................. 6
2.2 Hoofdonderzoek ............................................................................................................................ 7
2.2.1 Query Strings ......................................................................................................................... 7
2.2.2 Javascript in combinatie met DOM ....................................................................................... 7
2.2.3 IP-adressen ............................................................................................................................ 8
2.2.4 HTTP authenticatie ................................................................................................................ 8
2.3 Slotonderzoek................................................................................................................................ 8
3. Conclusie ............................................................................................................................................... 9
4. Referenties ............................................................................................................................................ 9
5. Aanhangsels........................................................................................................................................... 9
1. Inleiding

In het dagelijks internet gebruik worden cookies steeds belangrijker, ze maken het de gebruikers
makkelijker. Een goed voorbeeld hiervan is dat cookies voorkeursinstellingen opslaan, zo hoeven deze
voorkeuren niet elk bezoek opnieuw worden aangegeven. Daarnaast spelen cookies een grote rol in het
tonen van doelgerichte advertenties op websites. Vooralsnog werden cookies van websites automatisch
opgeslagen op de computer, echter brengt de nieuwe cookie-wet hier verandering in. De wet houd in
dat websites, die gebruik willen maken van cookies, expliciet om toestemming moeten vragen om
gebruik te mogen maken van cookies. Dit zorgt er natuurlijk voor dat op elke website (die gebruik maakt
van cookies) een vervelend scherm tevoorschijn komt die toestemming vraagt om cookies te gebruiken.
Gebruikers die niet de term cookies kennen, wat aan het begin de meerderheid zal zijn, zullen niet
toestemming geven aan iets onbekends. Omdat het gebruik van cookies voor sommige handelingen
noodzakelijk is, ben ik opzoek gegaan naar alternatieven.

1.1 Achtergronden
Het concept van cookies begon allemaal tijdens het ontwikkelen van een internetwinkel met het
bijbehorende winkelwagentje. Voor een betrouwbaar winkelwagentje bood het gebruik van cookies de
oplossing. De komende jaren werd het concept verder door ontwikkelend. Naast de functionaliteiten die
hierboven zijn genoemd kunnen cookies ook autorisatie gegevens opslaan, denk hierbij aan het opslaan
van een gebruikersnaam met wachtwoord voor een bepaalde website. Op dit moment bestaan er zeven
verschillende cookies, de belangrijkste, die nodig zijn om dit verslag beter te begrijpen, worden kort
besproken. Een Persistent cookie is een cookie die blijft bestaan totdat de verloop datum is
overschreden, deze datum kan maximaal één jaar zijn en wordt door de website bepaald. Deze cookie
wordt vooral gebruikt om na te gaan vanaf welke website de gebruiker afkomstig is, dus welke site hij
bezocht heeft voor de huidige website, bijvoorbeeld google.nl. Een Session cookie is een cookie die blijft
bestaan totdat de sessie word afgesloten, wanneer de sessie wordt afgesloten zal de cookie automatisch
verwijderd worden. Een Secure cookie is een cookie die word gebruikt bij beveiligde verbinding tussen de
server en de cliënt, een zogenoemde HTTPS verbinding. De cookie wordt in dit geval versleuteld (met
behulp van encryptie) overgestuurd. Een Third-party Cookie is een cookie die niet naar de huidige
website verwijst waarop je surft. Deze cookies worde gebruikt door bedrijven die websites van reclame
voorzien. Omdat elke gebruiker andere interesses heeft proberen ze met behulp van deze cookies je
interesses te achterhalen en daarbij relevante advertenties te tonen.
1.2 Probleemstelling
De nieuwe cookie-wet in Nederland zorgt er dus voor dat websites expliciet om toestemming moeten,
indien ze gebruik willen maken van cookies. Veel mensen buiten de ICT wereld zullen zich afvragen: “Wat
zijn cookies?”. De naam beschrijft de functionaliteit ervan niet en zal het dus, vooral in het begin,
verwarrend zijn voor de doorsnee internet gebruiker. Uit angst om iets onbekends toestemming te
geven zullen de meeste gebruikers weigeren. Dit betekent dat alle websites die gebruik maken van de
functionaliteiten van cookies, in zijn geheel, of gedeeltelijk, niet meer werken. Het is dus van groot
belang om een alternatief voor cookies te ontdekken. Wanneer de gebruiker geen toestemming
verleend voor het gebruik van cookies, kan de website deze alternatieve manier gebruiken om de
website functioneel te houden.

1.3 Onderzoeksvragen
Uitgaande van het in de vorige paragraaf geschetste probleem en doelstelling kan er een concrete
onderzoeksvraag worden opgesteld. Deze vraag kan onderverdeeld worden in enkele deelvragen waarop
in dit onderzoek de antwoorden worden geformuleerd.

Centrale vraagstelling:
“Wat zijn de alternatieven voor cookies?”

Deelvragen:
- Waarvoor worden cookies hoofdzakelijk gebruikt?
- Wat zijn de voor- & nadelen van de alternatieven?
- Welke alternatieven zullen in de toekomst meer gebruikt worden?
- Zullen deze alternatieven cookies compleet kunnen vervangen?

1.4 Doelgroep
Dit onderzoek is vooral bedoeld voor web developers die gebruik maken van cookies en opzoek zijn naar
alternatieven. Elk alternatief word grondig besproken en uitgelegd. Het verslag kan begrepen worden
door iedereen met een basiskennis over web development, moeilijke begrippen worden in hoofdstuk
vier uitgelegd.

1.5 Bronnen
Hieronder de lijst met bronnen gebruikt voor dit verslag:

- http://www.trouw.nl/tr/nl/5133/Media-technologie/article/detail/2455551/2011/06/21/Kamer-
akkoord-met-omstreden-cookiewet.dhtml
- http://www.whatarecookies.com/
- http://www.htmlgoodies.com/primers/jsp/article.php/3594621/Javascript-Basics-Part-6.htm
- http://www.emazing.nl/begrippenlijst/ip-adres.htm
- http://ilovethecode.com/Javascript/Javascript-Tutorials-How_To-
Easy/Get_Query_String_Using_Javascript.shtml
- http://www.jmarshall.com/easy/http/
1.6 Onderzoeksmethode

Voor het onderzoek zal ik gebruik maken van informatie dat op het internet te vinden is (zie bonnenlijst
hoofdstuk ) in combinatie met de kennis die bezit over Javascript, HTML5 en PHP, dat ik heb opgedaan
tijdens m’n studie en op me werk als Web Developer.

Hieronder een beschrijving van de verschillende fases van het onderzoek.

Vooronderzoek:
Om alternatieven voor cookies te vinden moet ik eerst weten waarvoor ze op dit moment gebruikt
worden. Tijdens het vooronderzoek ga ik dus zoek naar het antwoord op deelvraag 1.

Hoofdonderzoek
Wanneer ik de technische aspecten van cookies weet, kan ik, met behulp van de kennis over Web
Development die ik beschik, opzoek gaan naar alternatieve technieken die dezelfde functionaliteiten
hebben. Tevens zal ik gebruik maken van informatiebronnen op internet om me te begeleiden tijdens dit
proces, ook om zo meer oplossingen te zoeken, waar ikzelf niet in eerste instantie aan had gedacht.

Naast de theoretische oplossingen zal ik bij elke alternatief een prototype maken. Dit om te controleren
of de techniek daadwerkelijk werkt, vooral heeft deze prototyping een controlerende rol en de
broncodes zijn niet toegevoegd in het tentamen, maar natuurlijk is het mogelijk om deze stukken code in
te zien door met mij contact op te nemen In combinatie met de vorige paragraaf zal dit deelvraag twee
beantwoorden.

Slotonderzoek
Wanneer ik alle onderzoeksresultaten heb verzamelt zal ik gezamenlijk met mijn huidige werkgever (ook
een Web Developer die al meer dan twintig jaar in het vak zit) de resultaten bespreken en naar zijn
oordeel vragen over de alternatieven. Op deze manier zal deelvraag drie beantwoord worden.

Conclusie
Tot slot zal ik mijn voorspelling geven of de alternatieve daadwerkelijk gebruikt zullen worden in de
toekomst, hierbij betrek ik de mening van mijn baas en andere technische binnen het bedrijf. Dit zal
deelvraag 4 beantwoorden.

Centrale vraag:
De centrale vraag zal automatisch beantwoord worden met behulp van het bovenstaande.
2. Het onderzoek
Het onderzoek heb ik, zoals hierboven beschreven, in drie fases verdeeld, elke fase zal apart besproken
worden. In deze hoofdstukken zullen de eerste drie deelvragen beantwoord worden. Deelvraag vier zal
in het volgende hoofdstuk, de conclusie, beantwoord worden.

2.1 Vooronderzoek
Waarvoor worden cookies eigenlijk gebruikt? Dat is een belangrijke vraag als we opzoek gaan naar
alternatieven ervoor. Het antwoord op deze vraag kan niet in één zin samengevat worden, daarom word
het antwoord besproken in de volgende paragrafen. Houd er rekening mee dat het basis concept van
cookies het gebruikers makkelijker wilde maken.

2.1.1 Internet gebruik volgen


Het eerste doel dat we bespreken van cookies is tracking, dit houd simpelweg in dat de surfgeschiedenis
van de gebruiker word bekeken. Deze surfgeschiedenis is bijvoorbeeld handig om relevante advertenties
te tonen bij een website. Het bedrijf dat deze advertenties levert vraagt dus aan elke website die zijn
advertenties wilt tonen om een cookie naar hun te versturen van elke gebruiker, om zo relevante
advertenties op de site te tonen. Dit zijn dus third party cookies (1.1 Achtergronden).

2.1.2 Sessie beheren


Wanneer een gebruiker op een site navigeert wilt de site misschien het één en het ander van de sessie
onthouden. Cookies zijn tenslotte ontstaan om een online winkelwagentje te implementeren, dit dus
een goed voorbeeld van sessie beheer. Daarnaast kunnen ook gegevens als login gegevens onthouden
worden voor een gebruiker, bij het volgende bezoek zal automatisch de username en password ingevuld
worden en kan de gebruiker meteen inloggen. Dit zijn dus Session cookies (1.1 Achtergronden).

2.1.3 Voorkeuren opslaan


Niet elke gebruiker is hetzelfde, sommige gebruikers willen bijvoorbeeld niet meer dan vijf
zoekresultaten per pagina wanneer ze een zoekmachine gebruiken. Dit is een mooi voorbeeld hoe
cookies gebruikt kunnen worden om voorkeuren op te slaan. De voorkeuren blijven opgeslagen totdat
de gebruiker ze verwijderd of totdat de verloopdatum van de cookie is overschreden. Dit zijn dus
persistent cookies (1.1 Achtergronden).

Bovenstaande paragrafen beschrijven dus waarvoor cookies gebruikt worden, ongetwijfeld zullen ze
voor meer doeleindes gebruikt worden, echter ben ik ervan overtuigd dat bovenstaande de meeste
voorkomende zijn. Met bovenstaande kennis kunnen we deelvraag één beantwoorden:

Waarvoor worden cookies hoofdzakelijk gebruikt?


Voor het opslaan van voorkeuren, beheren van sessies en het internet gebruik volgen.
2.2 Hoofdonderzoek
De alternatieven voor cookies bestaan uit verscheidende verschillende technieken, er bestaat niet één
techniek de alles kan wat cookies ook kan. De verschillende technieken worden apart besproken, bij elke
techniek wordt aangeven welke cookie functionaliteit(en) het kan vervangen.

2.2.1 Query Strings


Query strings lijken het meest op cookies en worden al vaak gebruikt wanneer cookies zijn uitgeschakeld
door de gebruiker. Het is een simpele techniek die berust op extra informatie in de adresbalk mee te
sturen naar de server. Men wilt bijvoorbeeld de website www.voorbeeld.com bezoeken in het
Nederlands, dit kan dan gedaan worden door een waarde mee te geven aan de server. Voorbeeld:
www.voorbeeld.com/index.html?language=Nederlands. De query string “?language=Nederlands” begint
dus met een vraagteken, gevolgd door de naam van de waarde, in dit geval language, wat het Engelse
woord voor taal is. Na deze naam komt het gelijkheidsteken (=) en gevolgd door de waarde. Nu ontvangt
de server dus welke taal de gebruiker heeft geselecteerd en kan aan de hand daarvan verschillende
content terugsturen.

Vervangt: voorkeurinstelling voor een sessie. En een gedeelte van het internet gebruik volgen, zo kan in
de query string gegevens over de huidige pagina en voorgaande pagina’s worden meegegeven.

Voordeel: Werkt dus wanneer cookies niet worden toegestaan.

Nadeel: Gegevens worden in de URL opgeslagen, deze zullen dus meegestuurd worden wanneer iemand
de link van de pagina kopieert en door mailt. Zo zal bijvoorbeeld de taal in het voorbeeld hierboven
automatisch worden ingevuld en ziet bijvoorbeeld een Engelse kennis de site in het Nederlands.

2.2.2 Javascript in combinatie met DOM


De webbrowsers van dit moment kunnen veel data opslaan met behulp van JavaScript en het Document
Object Model, deze definieert de logische structuur voor documenten en bestaat bij websites uit
(X)HTML elementen. Het is mogelijk om met JavaScript waardes naar het DOM te schrijven. Zo kunnen
dus bijvoorbeeld taalinstellingen worden weggeschreven in het DOM.

Vervangt: sessie beheer

Voordeel: Er is geen server nodig, zo hoeft de data niet over het netwerk te gaan en is het niet vatbaar
voor mensen die het netwerk in de gaten houden om session cookies te onderscheppen.

Nadeel: Elk browser venster en elke tab heeft een eigen DOM, zo zullen dus instellingen in het ene
venster niet beschikbaar zijn in het ander venster of tab.

Zo kunnen dus de instellingen van elke sessie worden opgeslagen.


2.2.3 IP-adressen
Vanaf dat het World Wide bestond is het mogelijk geweest om de IP-adressen van gebruikers te
achterhalen. Om namelijk een pagina op te vragen heeft de server het IP-adres van de computer nodig.
Zo kan dus gemakkelijk bekeken worden of deze gebruiker de site al eens heeft bezocht.

Vervangt: gedeeltelijk internet gebruik volgen

Voordeel: In sommige situaties zijn IP-adressen heel betrouwbaar, broadband connecties blijven voor
een lange tijd hetzelfde IP-adres gebruiken. Wanneer de gebruiker zijn cookies wist, blijft zijn IP-adres
hetzelfde en kan de server altijd nog aan de hand van zijn IP-adres bekijken of de website reeds bezocht
is.

Nadeel: Er zijn systemen gemaakt die ervoor zorgen dat het niet meer mogelijk is om het IP-adres van de
gebruiker te achterhalen.

2.2.4 HTTP authenticatie


Om persoonsgegevens en andere gegevens verbonden aan een gebruiker te beveiligen maken de meeste
websites gebruik van een authenticatie systeem. Gebruikers moeten inloggen op de website voordat ze
bijvoorbeeld kunnen winkelen en spullen kunnen kopen. Hierbij maakt de website gebruik van de
autorisatie in het HTTP protocol. Eenmaal ingelogd kan het internet gebruik makkelijk worden
opgeslagen en gekoppeld aan desbetreffende gebruiker.

Vervangt: Het volgen van het internetgebruik van (ingelogde) bezoekers

Voordelen: Werkt dus zonder cookies en in elke venster/tabblad van elke browser

Nadeel: Bezoeker moet ingelogd zijn

Bovengenoemde technieken kunnen en worden al op sommige websites gebruikt als alternatief voor
cookies. Dit is dus een opsomming van de verschillende technieken, in dit hoofdstuk hebben we
deelvraag twee beantwoord.

2.3 Slotonderzoek
Gezamenlijk met Leon Buijsman van HireServe BV te Rotterdam heb ik de resultaten besproken en
gevraagd om zijn deskundige mening, hieronder volgt een samenvattende tekst.

Op dit moment worden cookies door bijna elke site gebruikt. In de meest recente web applicaties die ik
samen met mijn team heb ontwikkeld gebruikten we cookies vooral om sessie variabelen op te slaan. Ik
denk dat het alternatief JavaScript, een scripttaal dat de afgelopen jaren een aanzienlijke groei in
populariteit heeft gemaakt, in combinatie met het DOM geheugen een reële vervanger kan zijn.
Daarnaast worden query strings op dit moment al veel gebruikt en zal dit gebruik toenemen zodra de
onduidelijkheid over de nieuwe cookie wet is verdwenen.
3. Conclusie

Het cookie-concept is door de jaren heen flink verbeterd. Het zorgt voor veel gemak aan de cliënt kant
en voor nuttige informatie aan de server kant. Om deze te vervangen met één techniek is simpelweg
(nog) niet mogelijk. In bijna alle landen, mede dankzij de Europese wetregeling van cookies, zijn cookies
automatisch toegestaan tenzij de gebruiker dit expliciet weigert. Dit zorgt ervoor dat er niet voor elke
functionaliteit een alternatief is, waarom het wiel opnieuw uitvinden? Wel kunnen sommige
functionaliteiten, geheel of gedeeltelijk vervangen worden door één of een combinatie van meerdere
technieken. Deze alternatieven zullen dus de bestaande cookies nooit kunnen vervangen, echter bieden
ze in sommige gevallen wel een goede oplossing indien de bezoeker de cookies niet accepteert.

4. Referenties

Javascript: Een scripttaal wat veelal gebruikt wordt om webpagina’s interactief te maken.

PHP: Een scripttaal bedoeld om webservers dynamieken webpagina’s te maken.

DOM: Definieert de logische structuur voor documenten met een object georiënteerde benadering.

5. Aanhangsels

Geen.

You might also like