Captcha Class

Door Joeri , 16 jaar geleden, 3.980x bekeken

Naar aanleiding van een mooie CAPTCHA die ik gezien had van Thijs
op de site http://php.ferket.net/ ben ik zelf aan de slag gegaan aan een soortgelijke omdat ik deze zeer goed vond.
Ook omdat er toch nog vrij veel vraag is naar een duidelijke, en simpel aanpasbare captcha heb ik even vlug deze class geschreven.

Je kan 3 parameters instellen zijnde: $chars, $type, $color_scheme

$chars = aantal gewenste karakters voor het captcha plaatje : standaard staat deze op 5.

$type = gewenste samenstelling: standaard staat deze op 5.

- 0 : alles
- 1 : enkel NUMERIC
- 2 : enkel LOWERCASE
- 3 : enkel UPPERCASE
- 4 : Numeric / Lowercase
- 5 : Numeric / Uppercase (tevens standaardwaarde)
- 6 : Lowercase / Uppercase

$color_scheme = kleuren schema 0 of 1 : standaard staat deze op 0
- 0 : zwarte achtergrond en wit voor boord en letters
- 1 : witte achtergrond en zwart voor boord en letters

Installatie:

- Upload de class naar de gewenste map op je server.
- Pas het path van de fonts aan naar waar bij u op de server uw fonts zich bevinden.
- wijzig de fontsnamen eventueel naar eigen keuze.

Verdere uitleg staat in het script.

Volledig pakketje te downloaden op:
http://www.jb-web.org/downloads/scripts/php/captcha.zip

bevat:
- class.captcha.php
- bestanden c1.php, c2.php tot c8.php (voorbeelden)
- index.php (voorbeeld van gebruik in een formulier)
- map "fonts" (bevat de gebruikte fonts).
- gdinfo.php (om na te gaan welke versie en parameters ingesteld zijn op je host)

Uiteraard moet wel GD-Lib geinstalleerd en geactiveerd staan maar dat kan je testen door eerst het bestand gdinfo.php te openen en de info in je browser te lezen of via phpinfo().

in het voorbeeld word een random captcha weergegeven adhv de bestanden cX.php.

je kan ze uiteraard apart bekijken op:
http://www.jb-web.net/scripts/php/captcha/c1.php

c1.php kan je vervangen door cX.php waar X = 1, 2, 3, 4, 5, 6, 7 of 8

Veel plezier ermee.

Voorbeeld: http://www.jb-web.net/scripts/php/captcha

Gesponsorde koppelingen

PHP script bestanden

  1. captcha-class

 

Er zijn 21 reacties op 'Captcha class'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Joeri
Joeri
16 jaar geleden
 
0 +1 -0 -1
O Ja, de variabele met de 'captcha_code' wordt teruggegeven in een sessie variabele omgezet met sha1(md5('code')) zijnde: $_SESSION['captcha_code']. Met deze sessiewaarde kan je dus vergelijkingen gaan uitvoeren op de ingevoerde code.

Quote:
@GaMer13: dat kan je dan weer zelf instellen dat je bvb enkel UPPERCASE gebruikt zo staat die namelijk standaard ingesteld: UPPERCASE/NUMERIC. Ook worden nu alle lettertypes gebruikt, persoonlijk gebruik ik er maar 5.
Voordeel van de class (al is dat mss mijn persoonlijke mening) dat ze eenvoudig via de parameters aan te passen is.
GaMer B
GaMer B
16 jaar geleden
 
0 +1 -0 -1
Mooi, erg mooi. Goed script, echter nog niet in-depth gekeken. Het werkt wel, maar soms is het moeilijk te zien uppercase/lowercase...
Jelmer -
Jelmer -
16 jaar geleden
 
0 +1 -0 -1
Ik zou voor die opties, 1 t/m 6 nog even constanten maken (middels define()) zodat die wat begrijpelijker zijn :)

Je kan het trouwens ook gemakkelijk doen middels 3 cijfertjes/constanten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
    define('DECIMAL_CHARACTERS', 1);
    define('LOWERCASE_CHARACTERS', 2);
    define('UPPERCASE_CHARACTERS', 4);

    // default waarde?
    $this->type = DECIMAL_CHARACTERS + LOWERCASE_CHARACTERS + UPPERCASE_CHARACTERS; // = 7

    function make_char_array()
    {

        $this->char_array = array();
        
        if($this->type & DECIMAL_CHARACTERS) {
            $this->char_array = array_merge($this->char_array, range(2, 8), range(2, 8));
        }

        
        if($this->type & LOWERCASE_CHARACTERS) {
            $this->char_array = array_merge($this->char_array, range('A', 'F'), array('H', 'J', 'K', 'M', 'N'), range('P', 'Z'));
        }

        
       if($this->type & UPPERCASE_CHARACTERS) {
           $this->char_array = array_merge($this->char_array, range('A', 'F'), array('H', 'J', 'K', 'M', 'N'), range('P', 'Z'));
       }
    }
    
    [
Capcha]->make_captcha(5, DECIMAL_CHARACTERS + LOWERCASE_CHARACTERS, 0);
?>
Joeri
Joeri
16 jaar geleden
 
0 +1 -0 -1
en als je dan een combinatie van 2 wil? Zal het eens bekijken.

Andere opmerkingen steeds meer dan welkom.

@jelmer: bedankt voor de info, ga het vanmiddag toepassen.
Jelmer -
Jelmer -
16 jaar geleden
 
0 +1 -0 -1
Zoals ik al laat zien kan je gewoon + gebruiken in dat geval :)

Je zou zelfs een vaste combinatie kunnen maken, bijvoorbeeld ALL_CHARACTERS, en daar dan weer de LOWERCASE_CHARACTERS uit kunnen halen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
    define('ALL_CHARACTERS', 7);
    echo ALL_CHARACTERS - LOWECASE_CHARACTERS;
?>
GaMer B
GaMer B
16 jaar geleden
 
0 +1 -0 -1
Dat is inderdaad een goede oplossing Jelmer, omdat je dan niet met cijfers ligt te kloten :)

By the way, misschien moet je deze CAPTCHA eens opsturen naar die gastjes die bots maken voor CAPTCHA's. Kun je eens testen hoe goed jouw CAPTCHA is...
Joeri
Joeri
16 jaar geleden
 
0 +1 -0 -1
@jelmer: ben wat bezig geweest met die define maar probleem is dat je dan de defines elke keer voordat je de class aanroept moet definiëren bovenaan in een class define gebruiken mag niet. Probleem geeft ook dat DEC_CHARS + LOW_CHARS je zo dus niet kan instellen, dan geeft hij een error.

Ik vermoed dat ik het bij de case ga laten, dat is nog eenvoudig ook vond ik om wijzigingen of toevoegingen aan te passen.
Bluecherry
bluecherry
16 jaar geleden
 
0 +1 -0 -1
Nu nog een mp3-linkje naast de visuele captcha en je bent helemaal klaar ;).

Zie festival tts als je het zou overwegen.

Mooie oefening iig.
Thijs X
Thijs X
16 jaar geleden
 
0 +1 -0 -1
Mooie Class, alleen nog 1 opmerking

Voor dit stukje:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
imageline($image, 0, 0, 0, 46, $color); //een zwart lijntje links
imageline($image, 1, 0, $img_width, 0, $color); //een zwart lijntje boven
imageline($image, $img_width-1, 0, $img_width-1, 46, $color); //een zwart lijntje rechts
imageline($image, 1, 45, $img_width-1, 45, $color); //en een zwart lijntje onder


Zou je door 1 regel kunnen vervangen met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
imagerectangle($afbeelding, 0, 0, $img_width-1, 45, $color);
Joeri
Joeri
16 jaar geleden
 
0 +1 -0 -1
@thijs: behoud ik dan mijn border in kleur?? wit of zwart zo te zien aan de code wel??
MrJarod
MrJarod
16 jaar geleden
 
0 +1 -0 -1
Dit is een zeer slechte captcha, hij is HEEL erg makkelijk te decoderen. Gebruik hem dus NOOIT voor je textbased games ed. (als je geen mensen met een bot wilt iig)
Hij is uiteraard wel bruikbaar voor hele kleine toepassingen. (Maar dan raad ik een minder ingewikkelde captcha aan omdat die minder cpu gebruikt bij het genereren er van)
Joeri
Joeri
16 jaar geleden
 
0 +1 -0 -1
@MrJarod: Waarom zou deze Captcha minder zijn dan een andere?? Is gewoon gebaseerd op GD plaatje en doorgeven van de Captcha_code via sha1(md5 hash; uiteraard is alles te kraken, bouw nu enkel een controle in dat je bvb maar 3 maal mag proberen en opgelost voor bots, Bots worden steeds slimmer en slimmer, bots worden gemaakt door mensen, en het is steeds moeilijker iets te beveiligen dan te kraken. Zou wel graag weten waar je op steund om te zeggen dat 'Deze captcha' zeer onveilig zou zijn. Bedankt alvast. Neem een Captcha met Caps, Lower en Num en bvb 8 chars lang bereken maar eens even hoeveel tijd je zou nodig hebben die te kraken.
Jan geen
Jan geen
16 jaar geleden
 
0 +1 -0 -1
Geef het pad naar de fonts als parameter mee (of als constante). stel dat je deze klasse op 10 verschillende plaatsten gebruikt en overal een ander pad gebruikt. Wanneer je vervolgens iets veranderd in de klasse, moet je op al die 10 plekken weer het pad gaan zitten veranderen == niet handig.
TJVB tvb
TJVB tvb
16 jaar geleden
 
0 +1 -0 -1
Rik, als je het op meerdere plekken gebruikt kun je het eventueel in een config file zetten als globale variabele, dan hoe je het maar op 1 plek aan te passen. (mits je overal dat config file include)
Vermolen
vermolen
16 jaar geleden
 
0 +1 -0 -1
Joeri,
De zip hapert 2x halverwege het downloaden: zegt klaar maar niet oke...
Zou graag die testfile even zien/gebruiken, mijn / jouw captcha's doen het locaal W32 Apache2 php4.3 GD2 maar niet op webservers waar het moet draaien gaan.
Het plaatje laat zich niet zien, ook niet als jpeg ingesteld voor GD-geen-2
Jan geen
Jan geen
16 jaar geleden
 
0 +1 -0 -1
Waar het om gaat is dat je op meerdere plekken verschillende paden kunt hebben, als je dit vast gaat leggen in je klasse zul je dus op elke plek een andere klasse hebben, dat wil je niet want wanneer je de klasse aanpast wil je alleen de klasse uploaden, niet ook nog is alle paden weer gaan veranderen.
Joeri
Joeri
16 jaar geleden
 
0 +1 -0 -1
heb nieuwe zip geupload probeer eens.

http://www.jb-web.net/downloads/scripts/phpscripts/captcha.zip

heb de zip 2x geupload beide zouden moeten werken. Laat even iets weten anders. Update met Constante voor type volgd dit weekend.

@MrJarod: Graag nog even toelichting waarom deze captcha zo onveilig zou zijn aub. Dan kan ik eventueel aanpassingen maken. Alvast bedankt.

@thijs: lol dat had ik eerst en heb ik speciaal weg gelaten die random kleuren voor de letters. Van het weekend staat de update erop. Inclusief scannen fontsmap en de fontsmap bovenliggend van waar de class staat dan heb je geen problemen als je de class vanop verschillende plaatsen aanroept. Een path meegeven in de parameters van de class vind ik een beetje omslachtig.
Zal wel nog enkel PHP5 zijn daar ik const ga gebruikn en self:: voor het definiëren van de constanten 'NUM_CHARS', 'UPP_CHARS', 'LOW_CHARS' en 'ALL_CHARS' gaat wat overzichteliijker zijn voor de gebruiker. Bedankt voor de aanmerkingen.
Thijs X
Thijs X
16 jaar geleden
 
0 +1 -0 -1
Nog een Tip,
Gebruik een random kleur voor je letters en cijfers.
- Lichte range kleuren wanneer je een zwarte achtergrond krijgt.
- Donkere range kleuren wanneer je lichte achtergrond krijgt.

En voor je fonts, geef inderdaad een path op in een variabelen en laat dmv PHP scannen welke fonts erin zitten en selecteer daaruit een random font.


@ MrJarod,
Waarom is dit volgens jou een "zeer slechte CAPTCHA" ? De Code word in een sessie gezet en die kan zowieso al niet gelezen worden.
De manier waarop bots het kunnen lezen is zijn de vormen van de letters en cijfers, maar aangezien de random x en y coordinaten en random font, is dit zeeer moeilijk te kraken.
Jan
Jan
16 jaar geleden
 
0 +1 -0 -1
Als ik het script installeer verschijnt de afbeelding enkel in IE, niet in Firefox.
Aan wat kan dat liggen?
Ano Niem
Ano Niem
15 jaar geleden
 
0 +1 -0 -1
@Jan:
Heb ik ook problemen mee gehad bij het bouwen van mijn gdlib class. Bleek aan de headers te liggen.
outcomment de header regel eens en kijk wat hij doet.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Mir
Mir
15 jaar geleden
 
0 +1 -0 -1
Krijg dit in IE??


‰PNG  IHDRs.”1±˜¨IDATxœí[[–ä:ŽÃ-Ák‚Ö®‰\SÎõrDVuÏÌ™¿ö‰ª“™!ËD‚Oÿóóóƒÿ\ÿאýÿ¸~~~þkÿ"Ù$Ól÷ßÓ©ôF«Ð9ÐkÍ¿d’¹o13M[¢úAs¼õ—Å¥øñ‘{ZÊ¢d€}=Nó)ò™A©4MåZ9×Ú2½l(zUvfrßbýa-³¤îH'€ÌÏÛäÜ©àTo²Wf‘©þŠÒ^™H¥X æBÇX'º6`3(ÙO™ë³¿v團šþÀîósÍÿ}%ל×!ÑÐkîsêõHÄ’ SLÔ¡ýóóóÏÏÏÏ?ÿüã^rð‰Ø(DŒý«Ç´k [c„¥âïÇUjT4^1JU÷º*Ê ø<£×#Ò5"ê÷‰a;@W*ªþ&äÀ3 @šÏ(§Æ4’ªŠ±öò—‹bEQ†ÀQeçÏ!s<™b¦Œúœ–ÌLN™m`9·FlY[Š©´M,göÐ¥¼·\ßòõùÖ£—ÜÉiÒù’;1E¶¾§Ee¯ÇvkÅ-Åj±VÊ‹L–‘Ôa€KZ÷ÕÏmXÕZè4Õ°ÒIÓÒ›ß~~~HÙDÛÚºç ¬ÜÚä9æl`Á=´vì¯ô'Äoì”RªÕpS9j -Ò“Çš%(&o4uߘòÐ+½ÏãWL›súqþMSå¹å4Sym“´9©Í/ËÐkmp½¸ÒÌm%ú«4ß½P:Õÿ¨SêýÜëûEºt*ÕÒ=‡]DÙxyY×)GÉd™žÆÃG&>á“´áS›âäñI šòŠKŒ~•ôƒ,®Ã´áëu§Ø‹>n€ÛÜÓ|Í«eñÚO8$Ô$™n‹4ñÝeNMO‘NI⧌¿È¤ç—§ì}^&WúÅdÙîÚ”•—ÝçÒ›38“™&MQük·5K;“— ´[liI©†Ò~y<¾Ü£<*ß[Jþ¶"ýþê–6omGmŸéÜ·Ž§Ü¡ 5fRú îÛÕ“œët7Rb~:sXBº1U²€Ô¡TQ)Š–^>e3•x£ô’ÙDŸg|rJrúNÊ Ü۝ädC)“Ê|ÉÅ/»Úü¢“RÏæl¡eÎÿ™â†Xbûsâá.7ÊÙЧ““¸óX³Eb7 Ë74¦²¦Èæ<Ùß;Ò¥Í/di{eÿ¿9¡—ÀnUÒ|“Ë'ÜÏ ÌVœÌýx‹™Ìå®*%:™™<šÕ‘ Íː~B €TN×’)n—ƒé”ÒümršM&“S]6¬©RN‹*¦½å}“XÕ!Ïß|÷™0“Ê_9aÁ¤œ6ʽ¦‡ .³Áïs2Í–…EŠÓu3Û^µ*låÅòÞÛô[LÒ´ÍÉ`jÞ˜aHO˜v:¿;åTü_ánXS6yNNGÀ™”½¥{+/åN]<Û¢*eû“{ûøøbCIëËΚIΖ&)Ò­wôaI[\+î!öê h/=§ÌN™Ê÷I§ÅciÄ©†ˆÎÌmh.2Ñ.ÎÕ·[B&µx/ÅäÖÅtrÍfJ×Þ¾AoCÙ¢zE{M.›ƒZ+¼KŠÖÍ —‚¤%OSÎdn•éÝ7¾˜>G¸ÀuÎg‘L¹b?Eòt¿šÊ(¸x£Q:β§OÂK ¶™Ú·ë$(Hf»'͍ÆÎ*dN:Âò¦~µ`/¥£ÍLûeø&LïDŒÛTmßS_\,íOfz HYZüplˆ܉¯­ÎdÐd 9§Ø¶È3½ƒ«y*fJΗ¿±ÂcºÓ@Ù8Êlo\–Ûƒç M¯`/5e¹C†ƒìQÕß27SŠ·¯Êƒl&;š¸B€Ä ÃÚc—ìfð¶Ô)KtZZq*§C¾(XË3ß‹ŽÇ¸{ ÙlÁÚk¾ùÎÇ Ò3xqæ´qÙªfÍPab:×ðvÚ¨‘ï~‘ÙsÏ^Öe͸ò½‚ïÒ n?ŒšÙÈKØ·otB»#ÈïO–ó7åÖSÝ®±f¶)3wæážíÃŽµíÛ¢:…`¦úëÇÜàÚ3ºüÀMÖ+×…ö]ñT-¼8ê$ŸlŽQ÷,I?5Ò Žç)É|ê1sÔ“â k%ŠnL(×xåŠa‘PaN>"¤="@p1X"*eÏsÂ4¢ˆÚ T¡ŠQ=‰¢J`‘c ì¨Ú*Ô¼-Ö„må5:+—³ú¡LÖSé¬ÄÉJŽ” óÈl¦Dßù‹™×=OÙf· óŽÐ®pöN-£SˆN'AK½we]ק nÓÂñ:Ëᜢê™ýòdfÑR29ƒévM§—šÙ ‹µtŠÔ3FJ¨šÇ–Ï#›_Ö@©óщˆQ Xã‰)$Ô`°(Îs”Æ2Ë­vf ŒgEÔ&Àö,¢8¥šU¶l1 čìÁj7SäæÙŒªº(¹í•SqŒ¨J;â@;$‚ˆér(Š˜ôÍYo%–{âò1A <$e.÷R›Of‰—ÂÕxbVeFÅzb”À@E”õ[¥TAÎRJAM¸“õÔD’U¥d,¸_<ÛrŽŽ¬T(<­æm"›”®QU‘r UE*$EÔôµ?ÂåQ™|ÞÞ3[ÙûFuŒWd=Ç9§Äé„¥ k¼0E€ª»ƒª˜º@Ÿ­fAþµ†é糝­ƒuMwêãZ‚ÍÚTÐÎCJ´_lé1ªÞôÍ)NŽ§t!ÕÖÆ&èŠRaˆ5ÑÄ[Y\fÆÝW@C–6¦X "âU'1Z'–¢,@ˆœgàXH©7¯«ÆS-UNcpÔ‡¨~Zï'ÊÐ/„°=ôwt+VT’a°LÄ3WOÑ* €Š6S¬Q6ÆòÉ©"ôŒ'S#X1ø®ú(¶ m(& øÓÅ·ÃÈâôM¶êˆY_ÍKk><×yqTýVpè‰_ÄY™æeÁœn»r7PÔû'Œ6°OìV”F……‚@Nô™T)ê©ÈT ŠÝôRˆíêY9â1Y.¬d ÐÁ ãOkÛ+J*ªÊ[‘í$:`‹”žˆCAí:Q/¢HdTÅÛÌÎìA:FÄ—þÌui]ô.F®ÔWw=Ó‚+e¾ó¶yÚîÜ‚»²%‹Ùýx«DúÝ'¡ë×Y÷™5¥¤ºˆè™Ôì…XíW†liLšÙ…`ß­1"ÕYøµò•3삏låIvNrveÌ®³»Ô/ÈPjgR”ÌShf œ|ÕèSœmt!ýp®üžg3˲Ýi“] ºPîÌä©S©3à:)êÓ1—jpyÒ¾¹sçIžŽ›®âxòª1SöL6¥_Ý I‘WruÖfA„Ü™ßýèr¼•½Ö\¯fÂ}É .9s¸óÿÕɳ{–NóÒ©­¢Yg“WՏ«~·Õ¤vS8åtg¾gŸgû¢Ä$»%`\µK+­WÇgÏ9{pÎæsäæê¸xQp»sÌ|{6hæú%½!žÝA×_úêŠê¯GÒë®×ÎrËn7¿ùÝ“±1=k˜½F¹Z¸ÕŸ \ù•À´39«­$svý¬Êù.Ý“}Æ櫝@2™w‰oƒËœz +ߧûò z'£âîk© ²¢Ìv_èœy¹‹ìŤ.î_¹QÃ2ÿ`©k iy'*zS5f2¥`t®Ä™ÂÙãyz'Uì¤uÛÒŽÊ*žn³~®L•DH±<Ù” 5f6€€bœ¼Œ*^(&×ó‰ãeïж#…v ²íˆe˜~o{ÎsMÎÏì-mXUñ[;*%IãyN¯Â•ô¬·+ye_A:Û²ÿÞìß½V:ñyZ†žñôvZrgnEz.àÚ[ŸyÞÈÒ—f*Bñö±˜D©]ÊbìDÊ;×µ°¿S-7Á’ˆ†µHVÄôT8.‡™4\uÍój ájækÆüAÀQ)Ø;ù{Óý¯—:Aþ‡S‰’?4Â?+®ÝÛ ²ô*>1;^¸eñ »CàL·D¢ôÔH²ìÚˆ-à'…Á´ÇXïJA)*fIêdl›4âށ(£#W¶’ÎvðN&äø­­©üpÔSU<‘rT*D[˜;ã‘vTbUÔŒÂ3YÐx?;F¾æ«Éû|5¢‘¼Ù Ÿë4:j˜¡4U¢ 'ðݵ\áï¼wÑ4)ƒ¥èLî :eTN#þ d‡ÈU†Ÿz,ãY™PmL{þný;ø¹Ïïcü“Øþýj¡Þ2Û™^˜Í ’zG »x5oauÙåêõt5ºÅè³î Óäéš²yš[Ï«ï!µ}83m-c}·LùeÓÉ_°³¯ÀaöWó£|­Õ”ñÝøÅ—uõXv¥ÜJ¾º”ήCη ޝÛ©<¯u}öR ®‚«f´Cé¼ï‚·K°X±YÃñÑ`òÇûMÇYVw{rfžWfO@»¨è—ϳùéN}€hrõ@φ¥µÓÌ«açµà7w§g3àý­ïnz\çó_²»_8[(¦´æ+Ê:èû=+,9]²“wïùlþ¿6|<Ünón”õêÝ|M~õ÷­J»™Òìð=}«8!}½WvˬÝÍ_t‡%¿=Q_­¯õxF_yƒßnûÕÂJòRy¬hgß[ÍvÚg{]š™gŸN½ß6æ»ÓógJ3˜ÝÜeZ³›ˆëm´×+ç ‚”frÞÎ ìf¤WW•3¯Æ½ÓÞð—‹_½žë>2ÕÝ )Ó^QÓ 3r…g߯âu{%¯wà°B/t~à+ãùZeNÉY7~©ðy‹Å3îZÍ“üê;º»×_R©û8S‡sî§tçâ= €Åè»…ô¾Á_öùŸë}ý7,KoÃv¦²IEND®B`‚

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. captcha-class

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.