Captcha
Stop bots. Bescherm omzet. Geen configuratiegedoe.
Beheer je een multisite-netwerk met aangepaste domeinen? Dan ken je de pijn: Google reCAPTCHA en hCaptcha vereisen dat je elk afzonderlijk domein registreert in hun beheerconsole. Een nieuwe klantensite toevoegen? Werk de captcha-configuratie bij. Een aangepast domein koppelen? Opnieuw bijwerken. Het houdt nooit op.
Ultimate Multisite: Captcha verandert alles.
Cap Captcha: zelfgehoste bescherming die gewoon werkt
Onze nieuwe Cap Captcha-provider is een gamechanger voor multisite-netwerken:
- Geen configuratie — Activeer de addon en je bent beschermd. Geen API keys, geen Google-account, geen hCaptcha-dashboard, geen domein-whitelisting.
- Werkt automatisch op elk domein — Subdomeinen, gekoppelde domeinen, klantendomeinen—ze zijn allemaal direct beschermd.
- Zelfgehost en privé — Je gegevens verlaten nooit je server. Volledig AVG-conform zonder tracking door derden.
- Onzichtbare proof-of-work — Gebruikers lossen op de achtergrond een rekenpuzzel op. Geen brandkranen aanklikken, geen frustrerende afbeeldingsrasters.
- Lichtgewicht — Slechts 20KB. Vertraagt je checkout niet.
WooCommerce-bescherming tegen card testing
Card-testing-aanvallen kosten verkopers jaarlijks miljarden. Fraudeurs gebruiken bots om gestolen creditcards te valideren via je WooCommerce-checkout—jij betaalt de verwerkingskosten, zij krijgen geldige kaartnummers.
We beschermen waar het er het meest toe doet:
- Store API-bescherming — Blokkeert botaanvallen op
/wp-json/wc/store/v1/checkoutdie traditionele formulier-captcha’s omzeilen - Compatibel met PayPal Payments — Werkt naadloos met WooCommerce PayPal Payments
- Realtime statistieken — Zie precies hoeveel aanvallen je blokkeert
Nog steeds Google reCAPTCHA of hCaptcha nodig?
We hebben je gedekt. Volledige ondersteuning voor:
- Google reCAPTCHA v2 (Checkbox)
- Google reCAPTCHA v2 (Invisible)
- Google reCAPTCHA v3 (Score-based)
- hCaptcha (Standard)
- hCaptcha (Invisible)
Schakel op elk moment tussen providers via je netwerkinstellingen.
Gebouwd voor schaal
- Netwerkbrede instellingen met overschrijvingen per site
- Statistiekendashboard om bescherming te monitoren
- Aanpasbare beveiligingsniveaus (Snel, Gemiddeld, Maximaal)
- Ontwikkelaarsvriendelijk met uitbreidbare providerarchitectuur
Installatie
- Upload
ultimate-multisite-captchanaar je/wp-content/plugins/-directory - Activeer de plugin netwerkbreed
- Dat is alles. Je bent beschermd.
Cap Captcha wordt automatisch geactiveerd—geen instellingen om te configureren, geen API keys om in te voeren. Elk ondersteund endpoint in je hele netwerk is beschermd vanaf het moment dat je activeert.
Optioneel: Om in plaats daarvan Google reCAPTCHA of hCaptcha te gebruiken, ga je naar Ultimate Multisite → Settings → Captcha en selecteer je je gewenste provider.
Veelgestelde vragen
Moet ik iets configureren?
Nee! Cap Captcha wordt automatisch ingeschakeld wanneer je de addon activeert. Je hele netwerk is onmiddellijk beschermd—geen instellingen om te configureren, geen API keys om in te voeren.
Heb ik API keys nodig voor Cap Captcha?
Nee. Cap Captcha is volledig zelfgehost. Geen externe accounts, geen domeinregistratie, geen configuratiehoofdpijn.
Vertraagt dit mijn checkout?
Cap Captcha is slechts 20KB en voert proof-of-work-uitdagingen op de achtergrond uit. Je klanten merken geen enkele vertraging.
Beschermt dit tegen card-testing-aanvallen?
Ja! In tegenstelling tot traditionele captcha’s die alleen HTML-formulieren beschermen, haakt onze WooCommerce-integratie rechtstreeks in op de Store API om botaanvallen op API-niveau te blokkeren—waar de meeste card-testing-aanvallen plaatsvinden.
Kan ik verschillende captcha-providers op verschillende sites gebruiken?
De captcha-provider wordt netwerkbreed ingesteld, maar je kunt de moeilijkheidsinstellingen aanpassen op basis van je behoeften.
Is dit AVG-conform?
Cap Captcha is 100% zelfgehost zonder dat gegevens naar externe diensten worden verzonden. Bekijk voor Google reCAPTCHA en hCaptcha hun respectieve privacybeleidsregels.
Rate limiting
Ultimate Multisite: Captcha v1.5.0 introduceert een hard-stop rate limiter die je netwerk beschermt tegen brute-force- en card-testing-aanvallen.
Hoe het werkt
De rate limiter telt elk GET- en POST-verzoek op captcha-beschermde oppervlakken:
- WordPress-login-endpoints — wp-login, registreren, wachtwoord-vergeten, reacties
- WooCommerce-checkout — mijn-account, checkout, betalen-voor-bestelling
- Ultimate Multisite — checkout, inline-login
Wanneer een bezoeker de rate limit overschrijdt, reageert de plugin met:
- HTTP 429 (Too Many Requests)-statuscode
- Retry-After-header die aangeeft wanneer opnieuw te proberen
- Gerandomiseerde tarpit-slaapstand (standaard 1–5 seconden, hard begrensd op 15 seconden) om aanvallers te vertragen
Configuratie
Tarpit-timing
Beheer de gerandomiseerde vertraging die wordt toegepast op rate-limited verzoeken:
cap_rate_limit_tarpit_min— Minimale slaapduur in seconden (standaard: 1)cap_rate_limit_tarpit_max— Maximale slaapduur in seconden (standaard: 5, hard begrensd op 15)
Deze instellingen zijn beschikbaar in Ultimate Multisite → Settings → Captcha.
Uitbreidbaarheid
IP-whitelistfilter
Stel vertrouwde IP-bereiken vrij van rate limiting:
add_filter( 'wu_cap_rate_limit_whitelist_ip', function( $is_whitelisted, $ip ) {
// Whitelist your monitoring service
if ( $ip === '203.0.113.42' ) {
return true;
}
return $is_whitelisted;
}, 10, 2 );
Pre-block-actie
Voer aangepaste logica uit direct voordat een rate-limit-blokkade wordt verzonden:
add_action( 'wu_cap_rate_limit_will_block', function( $ip, $surface ) {
// Log the block, notify admins, or update custom metrics
error_log( "Rate limit triggered for $ip on $surface" );
}, 10, 2 );
Client-IP-detectie en vertrouwde proxies
Ultimate Multisite: Captcha v1.5.0 introduceert spoofbestendige client-IP-detectie. De methode Captcha_Core::get_client_ip() is nu de enige bron van waarheid voor IP-toeschrijving van bezoekers in:
- Rate-limit bucket keys
- Captcha-provider
remoteip(reCAPTCHA, hCaptchasiteverify) - Statistieken-IP-hashes
Vertrouwensmodel
De plugin dwingt een strikte IP-vertrouwenshiërarchie af:
- REMOTE_ADDR — Altijd vertrouwd (het IP van de directe peer)
- CF-Connecting-IP — Alleen gehonoreerd wanneer:
- De directe peer zich binnen een huidige Cloudflare-IP-range bevindt
cap_trust_cloudflare_headersis ingeschakeld (standaard: UIT)
- X-Forwarded-For — Alleen gehonoreerd wanneer:
- De directe peer in je door de beheerder geconfigureerde lijst met vertrouwde proxy’s staat
- De header van rechts naar links wordt geparseerd, waarbij vertrouwde/Cloudflare-hops worden overgeslagen
Configuratie
Vertrouwen voor Cloudflare-header
Schakel vertrouwen in voor de CF-Connecting-IP header van Cloudflare:
cap_trust_cloudflare_headers— Zet op AAN om je aan te melden voor vertrouwen inCF-Connecting-IP- Standaard: UIT (uitgeschakeld)
- De plugin wordt geleverd met een gebundelde Cloudflare CIDR-snapshot
- CIDR-ranges worden wekelijks vernieuwd via wp-cron
- De gebundelde fallback wordt gebruikt als het vernieuwen mislukt
Configuratie van vertrouwde proxy
Definieer je front-line proxy’s en load-balancers:
cap_trusted_proxies— Tekstveld met CIDR’s of losse IP’s (één per regel)- Opmerkingen zijn toegestaan (regels die beginnen met
#) - Zonder deze instelling wordt
X-Forwarded-Forgenegeerd, zelfs wanneer de rate limiter is ingeschakeld - Voorbeeld:
# Our load balancer
192.0.2.0/24
# Backup proxy
198.51.100.50
- Opmerkingen zijn toegestaan (regels die beginnen met
Automatische detectie bij eerste inschakeling
Wanneer je de rate limiter voor het eerst inschakelt, detecteert de plugin je waarschijnlijke Cloudflare- en proxy-instelling en toont een adminmelding met één klik: "Gedetecteerde instellingen toepassen".
- De plugin overschrijft nooit je opgeslagen waarden
- Als later verkeer suggereert dat je configuratie niet langer overeenkomt met de werkelijkheid (bijv. Cloudflare heeft CIDR-ranges gewijzigd), toont een niet-wegklikbare mismatchmelding de aanbevolen update
Waarom dit belangrijk is
Een strikt IP-vertrouwensmodel sluit een kritieke spoofingvector: directe verzoeken aan de origin-server met een vervalste CF-Connecting-IP header zouden voorheen zijn ingedeeld op basis van het vervalste IP in plaats van de echte peer. Dit is vooral belangrijk voor:
- Rate limiting — Aanvallers kunnen limieten niet omzeilen door IP’s te spoofen
- Statistieken — Je aanvalstatistieken weerspiegelen echte bezoekers-IP’s, niet vervalste
- Captcha-verificatie — Providers ontvangen het juiste bezoekers-IP voor risicobeoordeling