Waarom een captcha de verkeerde mensen tegenhoudt

Een zichtbare captcha raakt niet alleen bots. De bezoeker die net besloten heeft contact op te nemen, moet eerst verkeerslichten aanklikken of een vervormde tekst overtypen voordat de aanvraag verstuurt. Een deel haakt daar af, niet uit desinteresse maar omdat de drempel komt op het moment dat de twijfel nog vers is. Dat kost je een aanvraag die er al bijna was.

Spambots hebben daar steeds minder moeite mee. De bekendste captcha-diensten worden actief omzeild door tools die daar specifiek voor gebouwd zijn. Je kantoor verliest dus aanvragen van klanten, terwijl een deel van de spam gewoon doorkomt. Een slechte ruil.

Er zit ook een praktische kant aan. Een postvak vol spamformulieren betekent dat iemand op kantoor elke ochtend handmatig moet uitzoeken welke aanvraag echt is en welke niet. Bij vijf of tien spaminzendingen per dag loopt die controle op tot een vast klusje van een kwartier, elke dag opnieuw. Dat is geen grote kostenpost, maar wel tijd die ergens anders beter besteed is. En een enkele keer glipt er tussen die spam een echte aanvraag door, simpelweg omdat niemand meer goed oplet.

Onzichtbare bescherming: honeypot en tijdscontrole

Een honeypotveld is een extra veld in het formulier dat onzichtbaar is voor een bezoeker, maar wel zichtbaar voor een bot die de volledige HTML van de pagina uitleest. Vult iets dat veld in, dan weet je dat het geen mens is. De aanvraag wordt genegeerd, zonder dat iemand ooit een puzzel hoeft op te lossen.

Een tijdscontrole werkt net zo onopvallend. Een bot verstuurt een formulier vaak binnen één seconde na het laden van de pagina. Een mens heeft minstens een paar seconden nodig om naam, telefoonnummer en vraag in te typen. Gaat het razendsnel, dan blokkeer je die inzending op de achtergrond, zonder dat de verzender ooit een foutmelding ziet.

Honeypot en tijdscontrole samen vangen het grootste deel van de automatische spam af. Niemand merkt er iets van. Een bezoeker die het formulier normaal invult, ziet geen extra stap, geen vinkje en geen puzzel. Alleen de bots lopen ertegenaan. Beide technieken zijn ook nog eens goedkoop om te bouwen: geen externe dienst, geen abonnement, geen laadtijd die erbij komt.

Je formulier testen in een kwartier

Check eerst of je formulier al een onzichtbare laag heeft. Vraag je ontwikkelaar, of zoek in de broncode naar een extra veld met display:none. Ontbreekt die laag, dan is een honeypotveld meestal de snelste toevoeging: een paar regels code, geen enkele impact op hoe het formulier aanvoelt voor een bezoeker.

Test daarna wat er gebeurt als je het formulier binnen één seconde verstuurt. Komt de aanvraag toch door? Dan ontbreekt de tijdscontrole nog. Kijk ten slotte hoeveel spam er maandelijks nog in je postvak belandt. Blijft dat aantal hoog, dan is het tijd om beide technieken serieus te bekijken. Wil je dat testen een vast ritme geven in plaats van een eenmalige actie? Dit artikel over je contactformulier elk kwartaal testen beschrijft hoe dat eruitziet.

Noteer bij elke test ook hoe het formulier aanvoelt voor jezelf. Vul het in op je telefoon, op een trage verbinding, met een typefout die je weer verbetert. Werkt het dan nog soepel, dan werkt het voor je klanten ook. Een formulier dat spam weert maar zelf omslachtig aanvoelt, heeft het probleem alleen verplaatst naar een andere plek.

Spam weren is de ene kant van een veilig formulier. Wat je doet met de gegevens die wél binnenkomen is de andere kant. Dit artikel over klantdata in formulieren beveiligen gaat daar verder op in.

Bij een Contaqt Site zit deze bescherming er standaard in: honeypot en tijdscontrole werken vanaf de eerste dag, zodat elke aanvraag die binnenkomt ook echt een klant is.

Samengevat

  • Een zichtbare captcha houdt niet alleen bots tegen, maar ook een deel van de echte aanvragen.
  • Een honeypotveld is een onzichtbaar extra veld dat alleen bots invullen, waardoor je spam herkent zonder dat een bezoeker er iets van merkt.
  • Een tijdscontrole blokkeert formulieren die binnen één seconde verstuurd worden, omdat een mens minstens een paar seconden nodig heeft om het formulier in te vullen.
  • Honeypot en tijdscontrole zijn allebei onzichtbaar voor de bezoeker en vragen geen extra handeling.
  • Je test de bescherming van een contactformulier door te checken op een verborgen veld in de broncode en door het formulier razendsnel te versturen.
  • Bij Contaqt Site zitten honeypot en tijdscontrole standaard in elk contactformulier ingebouwd.