Korzen
Bot Protection

WordPress et WooCommerce

Bot Protection sur WordPress sans code : le plugin charge le tag et interroge avant une connexion, une inscription et un checkout WooCommerce, en fail-open.

Sur WordPress, vous n'écrivez pas de code serveur : le plugin Korzen Bot Protection fait le travail du tag et de l'appel. Il charge le tag sur vos pages et sur la page de connexion, et interroge Bot Protection avant une connexion, une inscription (celle de WordPress et celle de WooCommerce) et un checkout WooCommerce, le classique comme celui en blocs. Quand Bot Protection est lent (plus de 200 ms), indisponible ou répond quelque chose d'inattendu, le visiteur passe. Il demande WordPress 6.5 et PHP 8.2 ou plus récents.

Installer

Le plugin n'est pas encore dans le répertoire de WordPress.org : écrivez-nous pour recevoir son zip. Dans WordPress, ouvrez Extensions > Ajouter une extension > Téléverser une extension, choisissez le zip, puis activez-le.

Réglages

Ouvrez Réglages > Korzen Bot Protection et collez les deux clés de la page Set-up : la site key (YOUR_SITE_KEY), que porte le tag, et une API key, qu'envoie votre serveur. Une fois enregistrée, l'API key n'est plus jamais affichée. Pour la garder hors de la base de données, définissez-la plutôt dans wp-config.php et laissez le champ vide :

// wp-config.php, above "That's all, stop editing!"
define( 'KORZEN_API_KEY', 'your API key' );

Deux autres réglages :

  • Mode. Monitor interroge et laisse passer tout le monde, quelle que soit la réponse : commencez par là et suivez les décisions dans votre tableau de bord. Block applique l'action de la réponse, qui reste allow tant que vous n'activez pas aussi le block mode sur la page Set-up (voir monitor mode et block mode).
  • IP du visiteur. Derrière un load balancer, un proxy ou Cloudflare, chaque visiteur semble venir de lui. Choisissez la dernière entrée de X-Forwarded-For derrière votre propre load balancer ou proxy, ou CF-Connecting-IP quand votre serveur ne reçoit du trafic que de Cloudflare ; sinon, laissez la connexion.

Ce qu'il protège

  • Connexion : la page de connexion et la connexion de Mon compte de WooCommerce. Bot Protection est interrogé après que WordPress a vérifié le mot de passe, juste ou faux, si bien qu'un refus n'apprend rien à un bot sur le mot de passe. Les connexions des applications, par XML-RPC et la REST API, ne sont pas interrogées : aucun tag n'y a tourné.
  • Inscription : la page d'inscription de WordPress et l'inscription de Mon compte de WooCommerce.
  • Checkout : le checkout classique de WooCommerce et son checkout en blocs.

Chacune porte dans votre tableau de bord le nom /login, /signup ou /checkout, quelles que soient les adresses de votre site.

Ce que voit le visiteur

En block mode, un visiteur que Bot Protection bloque reçoit l'erreur habituelle du formulaire, qui dit que la demande n'a pas pu aboutir, sans dire pourquoi. Un visiteur dont il doute (challenge) reçoit un lien vers la page de challenge, une vérification courte qui le renvoie au même formulaire ; il l'envoie de nouveau et continue.

Ce qu'il envoie et conserve

Avant chaque action protégée, votre serveur envoie à Bot Protection l'adresse IP du visiteur, son User-Agent, les en-têtes que liste l'appel, le token _kz du tag, la méthode et le nom de l'action : jamais le mot de passe, l'e-mail ni la commande. Le plugin ne conserve que ses réglages, dans une option WordPress, et supprimer le plugin les efface.