Artikelen

5 manieren om formulierspam voorkomen

Technieken om misbruik van webformulieren te voorkomen

De meesten van ons hebben wel eens met spam te maken of te maken gehad. Websites die formulieren gebruiken om informatie te verzamelen, ontvangen onvermijdelijk spam-inzendingen. Fora worden overstroomd met twijfelachtige reacties. Inboxen worden overspoeld met kwaadwillende e-mails. Het is onmogelijk om elke spammer uit te sluiten, maar er zijn enkele handige hulpmiddelen en trucs om te voorkomen dat jouw formulieren worden bestookt met spam.

Wat is formulierspam?

Formulierspam zijn (herhaaldelijk) ingevulde formulieren die meestal ten doel hebben:

  1. een website te promoten (door backlinks toe te voegen aan een commentaar), of;
  2. een formulier te gebruiken voor malafide doeleinden (zoals phishing).

Wanneer je bijvoorbeeld een onbeveiligd contactformulier hebt, bied je een spammer een makkelijke manier om een phishinglink naar jouw mailbox te sturen. Deze links kunnen schadelijk zijn voor je bedrijf, wanneer een medewerker op de link klikt. Ook kan formulierspam als gevolg hebben dat ook jouw eigen e-mails als spam worden gemarkeerd en in de toekomst niet meer aankomen bij verschillende inboxes. Je wilt je formulieren dus beschermen tegen deze activiteiten.

Hoe gebeurt formulierspam?

Dit soort spamactiviteiten worden zowel handmatig als automatisch uitgevoerd. Handmatige spam gebeurt meestal wanneer bedrijven mensen inhuren om (alle) formulieren in te vullen die ze op het web kunnen vinden. Ze worden betaald om opmerkingen achter te laten of om contactformulieren met backlinks in te dienen. Het doel is om het verkeer naar hun website te verhogen, advertentie-inkomsten te genereren of neppe leads te creëren voor het salesteam van een concurrent. Deze activiteiten leiden tot een besmette commentaarsectie, wat resulteert in user churn en slechte ROI's.

Automatisch ingevulde formulieren (spambots) doen hetzelfde, maar zonder de moeite om handmatig naar formulieren te zoeken. Het opzetten van een spambot stelt een spammer in staat om meer te formulieren in te vullen in minder tijd, waardoor ze efficiënter zijn.Gelukkig worden spambots hierdoor sneller gedetecteerd.

Tools om spaminzendingen te detecteren

Er zijn tal van tools beschikbaar om spambots vast te leggen en te voorkomen dat ze proberen je formulieren te spammen. De meeste daarvan zijn WordPress-plugins. Als jouw website op WordPress draait, kun je snel tools, zoals Akismet, implementeren, die actief de strijd aangaan met spam van formulieren. Akismet beslist of iemands formulierinzending als spam wordt beschouwd. Andere diensten, zoals Project Honeypot, gebruiken onzichtbare velden (honeypots) om spambots te lokken. Een mens kan deze velden niet zien, laat staan invullen. Als deze verborgen elementen toch worden ingevuld, weet je dat het een spaminzending betreft.

Onze eigen spamdetectiebot in actie - Checking if you are human

Google's reCaptcha

Een andere vertrouwde tool om formulierspam te voorkomen is reCaptcha. Google heeft haar oude Captcha-tool omgebouwd naar een meer geavanceerde techniek, die automatisch misbruik van websiteformulieren detecteert, hoewel de methodiek soms gebruiksgemak in de weg staat.

Google's ReCAPTCHA in actie bij het controleren op spam inzendingen

Doe-het-zelf anti-spam

Er zijn enkele 'trucs' die je zou kunnen uitvoeren, zonder gebruik te maken van de bovenstaande tools. Als je website op JavaScript, HTML en CSS draait, zijn er enkele technieken om het aantal spaminzendingen (handmatig) te verminderen. Onthoud dat menselijke spammers nog steeds veel moeilijker te detecteren zijn dan automatische spambots. Het is aan te raden om inzendingen soms te controleren - om te beoordelen of ze écht spam zijn of niet.

(#1) Stel maximale tekstlengtes in

Aangezien spambots meestal grote berichten invullen, vermindert het instellen van een maximum aantal karakters het risico op spam. Deze manier houdt echter ook in dat andere input, van echte klanten, ook een maximumlengte heeft. In de meeste gevallen is dat niet zo'n probleem, maar voor bijv. uitvoerige supportvragen is het geen aanrader.  

(#2) Voeg een quiz-element toe

Hoewel we geen "Selecteer alle verkeerslichten"-achtige quizzen aanraden, kan een formulier wel quiz-achtige velden bevatten. Spambots herkennen het "e-mail" veld namelijk als het veld waar ze een e-mailadres kunnen achterlaten, maar het is veel moeilijker om een vraag te herkennen én goed te beantwoorden. Waar het hier om gaat is hoe moeilijk de vraag moet zijn. Natuurlijk wil je niet dat spambots het gemakkelijk oplossen, maar je bezoekers moeten het antwoord wel makkelijk kunnen geven.  

Afbeelding van de image quiz "Klik alle verkeerslichten aan" tegen formulierspam
Het welbekende "Klik alle verkeerslichten aan" 

(#3) Verbieden van hyperlinks

Een veel voorkomende manier van formulierspam is het verspreiden van hyperlinks. Door hyperlinks in je formulier uit te schakelen, voorkom je dat je website volloopt met schadelijke back- en phishinglinks. Het zorgt er echter ook voor dat er geen "schone" hyperlinks worden geplaatst.

(#4) Verplicht cookies

De vierde methode in ons DIY-lijstje is het plaatsen van de beruchte cookie. Met cookies volgen website-eigenaren hun bezoekers op hun website. Spambots accepteren echter geen cookies. Wanneer je dus cookies verplicht maakt om een formulier in te kunnen vullen, ben je beschermd tegen deze spambots.

(#5) Aanmaken van onzichtbare velden

Net als bij het Project kun je zelf 'honeypots' maken. Met een beetje programmeerwerk ben je in staat om elke spambot-activiteit te elimineren. Omdat spambots alleen je HTML lezen, zorgt het verbergen van een element in CSS & JavaScript ervoor dat echte mensen het niet kunnen zien, maar bots wel. Zodra bots dit element invullen, kun je de inzendingen filteren en degene die het verborgen veld hebben ingevuld, weggooien.

PHP methoden om webformulier spam te stoppen

Naast alle reeds genoemde technieken zijn er enkele .php-methoden die je kunt gebruiken om te voorkomen dat formulieren worden overspoeld met spamreacties:

  • Neem gegevens op van inzendingen, zodat je "beruchte" IP-adressen kunt blokkeren. Sommige spambots vuren meerdere inzendingen af in een korte tijd, vanaf hetzelfde IP-adres. Het blokkeren van dat adres zorgt ervoor dat dit niet meer gebeurt;
  • Verander de naam van je comments.php. Spambots detecteren deze als de commentaarsectie, zelfs als ze niet meer live op je website staan. Het veranderen van de naam vermindert je spamrisico.

Conclusie

Formulierspam is helaas een vaak voorkomend probleem voor websites en uiteindelijk de deliverability van je e‑mails. Hoe vaker je bevestigingsmailtjes stuurt naar niet bestaande e-mailadressen, hoe slechter je reputatie wordt. Ben je dus een populair target voor form spammers, dan is het belangrijk om zo snel mogelijk aan de slag te gaan met het beveiligen van je formulieren.

Gelukkig zijn er dus meerdere manieren om formulieren te verdedigen tegen spam. Echter: Zo effectief als ze vaak zijn, voorzichtigheid blijft geboden. Als je het invullen van formulieren te moeilijk maakt voor je bezoekers, resulteert dat in het verlies van bezoekers en dus potentiële klanten. Het is altijd een kwestie van afwegen tussen de moeite die spammers willen doen, het effect van form spam op jouw e-mail deliverability en de moeite die jouw bezoekers willen doen om formulieren in te vullen.

⏴terug naar artikelen