Professional Documents
Culture Documents
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.
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.
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:
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.
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.
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.
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.
Voordelen: Werkt dus zonder cookies en in elke venster/tabblad van elke browser
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.
DOM: Definieert de logische structuur voor documenten met een object georiënteerde benadering.
5. Aanhangsels
Geen.