WordPress plugin CPC
Kontakt Protect Captcha
Een eigen slimme bescherming tegen spam en bots
We zijn momenteel bezig met de ontwikkeling van Buzmedia Kontakt Protect Captcha: een eigen WordPress-oplossing om contactformulieren, offerteformulieren en andere formulieren beter te beschermen tegen spam en geautomatiseerde bots.
Veel websites zijn voor spambeveiliging afhankelijk van externe diensten zoals Google reCAPTCHA. Met Buzmedia Kontakt Protect Captcha bouwen we een alternatief dat volledig binnen WordPress kan functioneren, zonder dat iedere formulierinzending afhankelijk is van een externe captcha-provider.
Het uitgangspunt is simpel: zo weinig mogelijk hinder voor echte bezoekers, maar zoveel mogelijk barrières voor bots.
De beveiliging controleert daarom niet alleen of iemand een simpele vraag kan beantwoorden. Op de achtergrond worden meerdere signalen gecombineerd om te bepalen of een formulier waarschijnlijk door een echte bezoeker of door geautomatiseerde software wordt ingevuld.
De plugin wordt ontwikkeld voor gebruik binnen verschillende soorten WordPress-formulieren en kan zowel via een shortcode als rechtstreeks vanuit PHP worden geïntegreerd.
Status: in ontwikkeling.
Wat Buzmedia Kontakt Protect Captcha gaat doen
De plugin maakt gebruik van meerdere beveiligingslagen die gezamenlijk bepalen of een formulier mag worden verwerkt.
Onder andere:
- Automatische detectie van verdachte formulierinzendingen
- Honeypot-beveiliging tegen eenvoudige spambots
- Controle op de snelheid waarmee een formulier wordt ingevuld
- Browserinteractie controleren
- Detectie van geautomatiseerde aanvragen
- Een lichte browser challenge op de achtergrond
- Adaptieve captcha-vragen wanneer extra verificatie nodig is
- Bescherming tegen het opnieuw gebruiken van dezelfde captcha
- Rate limiting tegen grote aantallen aanvragen
- Tijdelijke blokkades bij herhaald misbruik
- Verschillende beveiligingsniveaus
- Statistieken van toegestane en geblokkeerde aanvragen
- Integratie via shortcode
- Integratie rechtstreeks vanuit WordPress/PHP
- Geen verplichte koppeling met Google reCAPTCHA
Hierdoor hoeft een gewone bezoeker in veel gevallen helemaal geen zichtbare captcha op te lossen. Pas wanneer een aanvraag verdacht gedrag vertoont, kan de beveiliging extra verificatie vragen.
De techniek achter Kontakt Protect
Bij de ontwikkeling kiezen we bewust voor een multi-layer aanpak. Een enkele captcha is tegenwoordig vaak onvoldoende. Moderne spambots kunnen simpele rekensommen, vaste formulieren en standaard honeypots steeds gemakkelijker herkennen.
Daarom combineert Buzmedia Kontakt Protect Captcha verschillende controles.
Honeypot detectie
In het formulier wordt een veld geplaatst dat voor normale bezoekers niet zichtbaar is. Bots die automatisch alle beschikbare velden invullen, lopen hierdoor direct tegen de beveiliging aan.
Timing analyse
De plugin houdt bij hoeveel tijd er zit tussen het laden en verzenden van een formulier.
Een uitgebreid contactformulier dat binnen enkele milliseconden wordt ingevuld, is bijvoorbeeld een sterke aanwijzing dat het formulier automatisch wordt verwerkt.
Browser-interactie
Waar beschikbaar kijkt Kontakt Protect naar normale browserinteractie, zoals toetsenbord-, muis-, touch- en focusactiviteit.
Deze gegevens worden niet gebruikt om bezoekers te volgen, maar uitsluitend als technisch signaal om onderscheid te maken tussen normaal gebruik en geautomatiseerd gedrag.
Browser Work Challenge
Op de achtergrond kan de browser een kleine berekening uitvoeren voordat een formulier wordt geaccepteerd.
De server controleert vervolgens of het resultaat geldig is.
Hiermee ontstaat een extra technische drempel voor bots die rechtstreeks HTTP-verzoeken naar het formulier sturen zonder de normale website daadwerkelijk te gebruiken.
Cryptografisch ondertekende challenge
Challenges worden server-side ondertekend. Daardoor kan een bot niet eenvoudig zelf geldige challengegegevens genereren of waarden in het formulier aanpassen.
Replay Protection
Een correct opgeloste challenge kan slechts één keer worden gebruikt.
Wanneer een bot probeert dezelfde aanvraag of challenge opnieuw af te spelen, kan deze worden geweigerd.
Rate Limiting
De plugin bewaakt hoeveel aanvragen binnen een bepaalde periode worden gedaan.
Bij abnormaal grote aantallen kan een bezoeker of bot tijdelijk worden geblokkeerd.
Hierdoor wordt ook grootschalige geautomatiseerde formulier-spam afgeremd.
Adaptieve beveiliging
Niet iedere bezoeker hoeft dezelfde controle te krijgen.
Bij normaal gedrag kan de beveiliging vrijwel volledig op de achtergrond functioneren. Wanneer meerdere verdachte signalen worden gevonden, kan automatisch een aanvullende challenge worden weergegeven.
Zo proberen we de balans te vinden tussen gebruiksgemak en beveiliging.
Flexibele WordPress-integratie
Een belangrijk onderdeel van het project is dat Kontakt Protect niet uitsluitend aan één formulierplugin wordt gekoppeld.
De beveiliging kan bijvoorbeeld in een formulier worden geplaatst met:
[buzmedia_captcha context="contact"]
Maar ontwikkelaars kunnen dezelfde beveiliging ook rechtstreeks vanuit een WordPress-template of plugin aanroepen.
echo buzmedia_contact_protect_render( 'contact' );
Bij het verwerken van het formulier wordt vervolgens server-side gecontroleerd of de challenge geldig is.
Daardoor kan dezelfde beveiligingsengine worden gebruikt voor onder andere:
contactformulieren, offerteaanvragen, inschrijvingen, supportformulieren, reserveringen en maatwerk WordPress-applicaties.
Geen externe captcha als uitgangspunt
Een van de belangrijkste uitgangspunten van het project is dat de basisbeveiliging zelfstandig kan functioneren.
Er is daardoor geen verplichte:
- Google reCAPTCHA API-key
- externe captcha-service
- externe JavaScript-library
- externe verificatieserver
De website houdt daarmee zelf meer controle over de formulierbeveiliging en de technische werking ervan.
Beheer vanuit WordPress
Voor beheerders bouwen we een eigen Buzmedia Kontakt Protect dashboard in WordPress.
Daar kunnen straks onder andere het beveiligingsniveau, rate limiting, blokkeertijden en verschillende challenge-instellingen worden aangepast.
Ook wordt zichtbaar hoeveel aanvragen worden geaccepteerd en hoeveel aanvragen worden tegengehouden.
De beheeromgeving krijgt dezelfde visuele stijl als de overige Buzmedia-oplossingen: zwart, wit en het herkenbare Buzmedia geel/oranje, met een overzichtelijke technische interface.
Waarom we dit bouwen
Spam via WordPress-formulieren blijft een terugkerend probleem. Tegelijkertijd willen we bezoekers niet bij ieder formulier opzadelen met verkeerslichten, fietsen, zebrapaden of andere captcha-opdrachten.
Met Buzmedia Kontakt Protect Captcha bouwen we daarom onze eigen beveiligingslaag waarbij meerdere technische controles samenwerken.
Het doel:
echte bezoekers zo min mogelijk laten merken van de beveiliging, terwijl geautomatiseerde spam juist steeds meer barrières tegenkomt.
Buzmedia Kontakt Protect Captcha is momenteel in actieve ontwikkeling.
