IRCF HalteAuxBots

Bloquez les bots et le spam sur tous les formulaires de votre site WordPress — sans CAPTCHA, sans cookie, sans service tiers. 8 couches de défense qui s’exécutent entièrement sur votre serveur, invisibles pour vos visiteurs et conformes RGPD. Gratuit et open source (GPL).

0,00 

Description

Le meilleur CAPTCHA, c’est celui que personne ne voit

Votre site WordPress subit en permanence des tentatives automatisées : force brute sur la page de connexion, spam de commentaires, formulaires de contact pollués, faux comptes clients. La réponse habituelle — le CAPTCHA — pénalise vos visiteurs et envoie leurs données chez un tiers.

HalteAuxBots prend le problème à l’envers : toute la défense s’exécute sur votre serveur. Aucune requête sortante, aucun cookie, aucune adresse IP stockée en clair. Et votre visiteur, lui, n’a rien à cocher, rien à déchiffrer.

8 couches de défense empilables

  • Honeypot — un champ leurre invisible, au nom changeant chaque jour
  • Piège temporel — une soumission en moins de 2 secondes n’est pas humaine
  • Preuve d’interaction — exige un vrai clic, une vraie frappe clavier
  • Proof-of-work SHA-256 invisible — un calcul imperceptible pour un humain, ruineux pour un botnet
  • Difficulté adaptative — le coût monte automatiquement pendant une attaque
  • Défi visible réservé aux suspects — la case « je ne suis pas un robot » n’apparaît qu’en cas d’attaque
  • Rate-limiting par IP et par compte — stoppe le brute force, même distribué
  • Piège à robots — un lien caché qui bannit toute IP l’ayant suivi

Ce qui est protégé

Connexion, inscription, mot de passe oublié, commentaires, WooCommerce (compte et commande, anti card-testing), Elementor, Contact Form 7, Gravity Forms, WPForms, Fluent Forms, Ninja Forms — et vos formulaires sur mesure via un simple shortcode.

Pensé pour les administrateurs

Mode test pour régler sans risque, tableau de bord avec taux de blocage par formulaire, support des reverse proxys et CDN (Cloudflare…), intégration fail2ban, bouton de déverrouillage d’urgence et commandes WP-CLI. Interface en français.

Un projet sérieux et transparent

Plus de 100 tests automatisés, conformité aux règles du répertoire officiel WordPress, parcours critiques validés en conditions réelles. Les limites connues sont documentées ouvertement dans la fiche de l’extension — c’est aussi ça, la confiance.

Gratuit, open source — et accompagné si besoin

HalteAuxBots est distribué gratuitement sous licence GPL. Besoin d’aide pour l’installer, le configurer ou protéger l’ensemble de votre site ? L’équipe IRCF vous accompagne →

Prérequis : WordPress 6.2+, PHP 8.0+. Le proof-of-work nécessite JavaScript côté visiteur.

Installation

  1. Téléchargez le fichier ircf-halteauxbots.zip.
  2. Dans votre administration WordPress : Extensions → Ajouter → Téléverser une extension, sélectionnez le zip puis Installer et Activer.
  3. Un menu HalteAuxBots apparaît dans la barre latérale : toute la configuration se fait depuis cet écran unique.

Prérequis : WordPress 6.2 ou supérieur, PHP 8.0 ou supérieur. La vérification côté visiteur nécessite JavaScript (un message l’explique aux rares navigateurs qui le désactivent).

Premiers pas — la protection est déjà active

Dès l’activation, les réglages par défaut protègent la connexion, l’inscription, les commentaires et tous les formulaires détectés (WooCommerce, Elementor, Contact Form 7…). Vous n’avez rien d’autre à faire dans la majorité des cas.

Pour ajuster en toute sécurité, activez d’abord le mode test (Divers → « Mode test ») : les blocages sont journalisés mais non appliqués. Observez le journal quelques jours, ajustez, puis désactivez le mode test.

Les couches de défense

Chaque couche s’active indépendamment depuis le panneau « Couches de défense » ; un bot doit toutes les franchir.

Couche Principe Défaut
Honeypot Champ leurre invisible, au nom renouvelé chaque jour. Activé
Preuve d’interaction Exige un vrai geste (clic, clavier, toucher) avant l’envoi. Activé
Piège temporel Rejette les soumissions plus rapides que le délai minimal (2 s). Activé
Proof-of-work invisible Calcul SHA-256 résolu par le navigateur, difficulté auto-adaptative sous attaque. Activé
Défi visible Case « je ne suis pas un robot » affichée uniquement en période d’attaque. Activé
Rate-limiting Limite les tentatives par IP, et par compte sur la connexion. Activé
Piège à robots Lien caché : toute IP qui le suit est bannie temporairement. Activé
Filtrage User-Agent Bloque les requêtes sans User-Agent (+ motifs personnalisés). Activé

Protéger un formulaire sur mesure

Pour un formulaire maison, insérez les champs invisibles puis vérifiez côté serveur :

<!-- Dans le formulaire (ou via le shortcode ) -->
<?php halteauxbots_render('mon_form'); ?>

<!-- Au traitement de la soumission -->
<?php
$ok = halteauxbots_verify('mon_form'); // true, ou WP_Error si bloqué
if (is_wp_error($ok)) {
    wp_die(esc_html($ok->get_error_message()));
}

Cas particuliers

Site derrière Cloudflare, Varnish ou un reverse proxy

Important : derrière un proxy, toutes les requêtes semblent venir de la même adresse IP — un seul bot pourrait déclencher un blocage pour tous vos visiteurs. Dans le panneau « Reverse proxy / CDN », sélectionnez l’en-tête ajouté par votre proxy (ex. CF-Connecting-IP pour Cloudflare) et déclarez les adresses de vos proxys. L’écran « Santé du site » de WordPress vous avertit si un proxy est détecté mais non configuré.

Boutique WooCommerce

Connexion, création de compte et validation de commande sont protégées. Si votre page de paiement utilise le bloc « Validation de commande », la protection est partielle (listes IP, piège, User-Agent, rate-limit anti card-testing) ; le checkout classique (shortcode ) bénéficie de toutes les couches.

Cache de page

Compatible : les défis sont récupérés à la volée par le navigateur, jamais figés dans les pages en cache. Aucun réglage nécessaire.

Supervision

  • Tableau de bord : trafic légitime vs bloqué, activité sur 30 jours, blocages par couche, taux par formulaire.
  • Derniers blocages : chaque refus avec sa date, son formulaire et la couche déclenchée — votre premier réflexe de diagnostic.
  • Santé du site (Outils → Santé) : un contrôle dédié signale toute configuration à revoir.
  • fail2ban (optionnel) : journal serveur permettant un bannissement au niveau du pare-feu — exemple de configuration complet fourni dans l’écran de réglages.

Dépannage

« Échec de la vérification anti-bot. Rechargez la page, puis réessayez. »

Le formulaire est resté ouvert au-delà de la durée de vie du défi. Rechargez simplement la page — ne ressaisissez pas vos identifiants sans recharger.

Je me suis bloqué moi-même (tests répétés, réglage trop strict)

  1. Depuis l’admin : bouton « Purger les verrous » en bas de l’écran HalteAuxBots.
  2. En ligne de commande : wp halteauxbots purge ou wp halteauxbots unlock 203.0.113.4 (IP ou identifiant de compte).
  3. En dernier recours, désactivez tout dans wp-config.php : define('HALTEAUXBOTS_DISABLE', true);

Astuce : ajoutez votre IP fixe dans « IP de confiance » pour ne jamais être gêné par vos propres tests.

Commandes WP-CLI

Commande Effet
wp halteauxbots status État de la protection, niveau de menace, statistiques.
wp halteauxbots purge Lève tous les verrous (statistiques conservées).
wp halteauxbots unlock <ip|compte> Déblocage ciblé d’une IP ou d’un compte.

Données personnelles (RGPD)

  • Aucune requête vers un service externe, aucun cookie déposé.
  • Les adresses IP ne sont jamais stockées en clair : uniquement un hachage salé, non réversible.
  • Seule exception, explicitement optionnelle : le journal fail2ban (IP en clair, côté serveur uniquement, dossier fermé à l’accès web).
  • Un texte prêt à l’emploi est proposé pour votre page Politique de confidentialité (Réglages → Confidentialité).

Besoin d’aide ?

L’équipe IRCF peut installer, configurer et superviser HalteAuxBots sur votre site — contactez-nous.