In WordPress schrijf je geen servercode: de plugin Korzen Bot Protection doet het werk van de tag en van de call. Hij laadt de tag op je pagina's en op de inlogpagina, en vraagt het Bot Protection vóór een inlog, een registratie (die van WordPress en die van WooCommerce) en een WooCommerce-checkout, de klassieke en de blokcheckout. Is Bot Protection traag (meer dan 200 ms), onbereikbaar of antwoordt het iets onverwachts, dan komt de bezoeker erdoor. Hij vraagt WordPress 6.5 en PHP 8.2 of nieuwer.
Installeren
De plugin staat nog niet in de directory van WordPress.org: mail ons voor de zip. Open in WordPress Plugins > Nieuwe plugin toevoegen > Plugin uploaden, kies de zip en activeer hem.
Instellingen
Open Instellingen > Korzen Bot Protection en plak de twee keys van de pagina Set-up: de site key (YOUR_SITE_KEY), die de tag meedraagt, en een API key, die je server meestuurt. Eenmaal opgeslagen wordt de API key nooit meer getoond. Om hem buiten de database te houden, definieer je hem in wp-config.php en laat je het veld leeg:
// wp-config.php, above "That's all, stop editing!" define( 'KORZEN_API_KEY', 'your API key' );
Nog twee instellingen:
- Modus. Monitor vraagt het en laat iedereen door, wat het antwoord ook is: begin daarmee en volg de beslissingen in je dashboard. Block past de
actionvan het antwoord toe, dieallowblijft tot je block mode ook op de pagina Set-up aanzet (zie monitor en block mode). - IP-adres van de bezoeker. Achter een load balancer, een proxy of Cloudflare lijkt elke bezoeker daarvandaan te komen. Kies de laatste X-Forwarded-For-entry achter je eigen load balancer of proxy, of CF-Connecting-IP als je server alleen verkeer van Cloudflare aanneemt; laat anders de verbinding staan.
Wat hij beschermt
- Inloggen: de inlogpagina en het inloggen bij Mijn account van WooCommerce. Bot Protection wordt gevraagd nadat WordPress het wachtwoord heeft gecontroleerd, goed of fout, zodat een weigering een bot niets over het wachtwoord vertelt. Inlogs van apps, via XML-RPC en de REST API, worden niet gevraagd: daar draaide geen tag.
- Registratie: de registratiepagina van WordPress en de registratie bij Mijn account van WooCommerce.
- Checkout: de klassieke checkout van WooCommerce en zijn blokcheckout.
Elk heet in je dashboard /login, /signup of /checkout, welke adressen je site ook heeft.
Wat een bezoeker ziet
In block mode krijgt een bezoeker die Bot Protection blokkeert de gewone foutmelding van het formulier: het verzoek kon niet worden voltooid, zonder te zeggen waarom. Een bezoeker over wie het twijfelt (challenge) krijgt een link naar de challengepagina, een korte controle die hem terugstuurt naar hetzelfde formulier; hij verstuurt het opnieuw en gaat verder.
Wat hij verstuurt en bewaart
Vóór elke beschermde actie stuurt je server Bot Protection het IP-adres van de bezoeker, de User-Agent, de headers die de call noemt, de _kz-token van de tag, de methode en de naam van de actie: nooit het wachtwoord, het e-mailadres of de bestelling. De plugin bewaart alleen zijn instellingen, in één WordPress-optie, en de plugin verwijderen wist ze.