Table des matières
- Sécuriser tes formulaires WordPress
- Problématiques des anti-spams proposés avec Contact Form 7
- Le « honeypot », un anti-spam efficace et léger 🍯
- Comment configurer Honeypot for Contact Form 7
- Surveiller les spams
- Mon avis sur l’extension Honeypot for Contact Form 7
Sécuriser tes formulaires WordPress
Contact Form 7 est une extension WordPress gratuite et très populaire qui permet de créer des formulaires de contact pour un site WordPress sans avoir à coder, dans la philosophie de l’éditeur Gutenberg. Malheureusement, en raison de sa popularité, les sites qui l’utilisent sont la cible de spams. Pour m’en prémunir efficacement sans utiliser de services tiers (Google reCAPTCHA, Akismet Anti Spam), j’utilise Honeypot for Contact Form 7 que je trouve plus léger et adapté à la majorité des usages.
Présentation et configuration du plugin…
Problématiques des anti-spams proposés avec Contact Form 7
Contact Form 7 propose par défaut deux solutions anti-spams :
- Akismet Anti Spam, développé par Automattic : Un système de filtre qui analyse les entrées du formulaire soumis en comparant ces données à sa base de données de spams connus.
- reCAPTCHA, développé par Google : Un « CAPTCHA » (Completely Automated Public Turing test to tell Computers and Humans Apart). C’est un test conçu pour distinguer les humains des robots.
Ces deux services sont très efficaces pour limiter les spams, mais ils impliquent deux problématiques :
- Protection de la vie privée : Les données soumises dans les formulaires sont envoyées vers un prestataire tiers sur lequel tu n’as pas ou peu de visibilité. Si tu es soumis au RGPD, cela pose un problème, car cela implique la collecte et le traitement de données personnelles sans un contrôle clair sur la manière dont ces données sont utilisées.
- Performances : Akismet et Google reCAPTCHA peuvent ralentir les performances de ton site. Ces services font appel à des requêtes externes et, dans le cas de Google reCAPTCHA, ajoute des fichiers JavaScript supplémentaires au chargement d’une page de ton site. Ces éléments peuvent entraîner des temps de chargement plus longs des pages de ton site et impliquent nécessairement plus de consommation de bande passante pour tes utilisateurs.
Pour remédier à ces problèmes, je préfère utiliser une solution anti-spam qui fonctionne localement sur le site et n’impacte pas l’expérience utilisateur.
Le « honeypot », un anti-spam efficace et léger 🍯
On souhaite un anti-spam efficace et léger. Il doit offrir une protection robuste tout en préservant la légèreté du site. Il doit filtrer les spams sans alourdir les performances du site ou compliquer l’expérience utilisateur. La solution idéale devrait équilibrer la sécurité et la facilité d’utilisation, sans compromettre la vitesse de chargement des pages. Enfin, le plugin que l’on recherche doit-être maintenable et mis à jour régulièrement.
J’ai sélectionné Honeypot for Contact Form 7 qui répond bien à ces exigences. Cette extension permet de protéger ton formulaire avec un honeypot (pot de miel 🍯). Un honeypot dans un formulaire est comme un piège pour les robots spammeurs. On ajoute un champ invisible au formulaire que seuls les robots peuvent voir. Si ce champ invisible est rempli lors de la soumission du formulaire, le serveur sait qu’il s’agit probablement d’un robot et peut bloquer cette soumission pour éviter le spam.
Le développeur du plugin écrit :
Le principe d’un honeypot est simple : les robots sont stupides. Si certains spams sont livrés à la main, la grande majorité d’entre eux sont envoyés par des robots programmés d’une manière spécifique (à grande échelle) pour envoyer des spams au plus grand nombre de types de formulaires. De cette manière, ils remplissent en quelque sorte aveuglément les champs, sans se soucier de savoir si le champ doit être rempli ou non. C’est ainsi qu’un honeypot attrape le robot — il introduit un champ supplémentaire dans le formulaire qui, s’il est rempli, déclenche le honeypot et signale la soumission comme étant du spam.
Nocean – Honeypot for Contact Form 7
Comment configurer Honeypot for Contact Form 7
Vérifie bien que Honeypot for Contact Form 7 est bien installé et activé. Si tel est le cas, tu devrais voir un nouvel intitulé « Honeypot » dans les sous menus de l’extension Contact Form 7 dans la barre latérale.
Si ce n’est pas déjà fait, je te recommande également d’installer l’extension Flamingo qui permet d’enregistrer, directement dans WordPress, les entrées des formulaires de ton site.
Réglages généraux
La page de configuration générale du plugin est assez simple. Par défaut, rien n’est paramétré.
Tu retrouves en bas de page une petite information statistique du nombre de spams bloqués.
Après de nombreux tests sur des sites de toute taille, la configuration la plus efficace à mon sens sans sacrifier l’accessibilité du formulaire est celle-ci :
✅ Stocker les valeurs Honeypot (si tu as installé Flamingo)
📋 Texte indicatif par défaut (Ne rien mettre)
📋 Message d’accessibilité : « Veuillez laisser ce champ vide »
✅ Utiliser la valeur standard pour l’autocomplétion.
✅ Déplacer le CSS en ligne
✅ Activer la vérification de durée
Intégrer un Honeypot dans un formulaire
Une fois la configuration globale mise en place, il faut intégrer un honeypot dans le formulaire que tu souhaites protéger. Comme vu précédemment, cela consiste à mettre un champ caché supplémentaire dans ton formulaire Contact Form 7.
Pour ajouter un honeypot à ton formulaire, rends-toi dans la section « Formulaires de contact » du menu « Contact ».
Sélectionne le formulaire que tu souhaites configurer.
Un nouveau champ « Honeypot » est disponible, clique dessus pour le configurer et l’insérer dans ton formulaire.
Cela ouvre une fenêtre de configuration pour ton champ, je te recommande la configuration suivante, c’est celle qui fonctionne le mieux pour ma part.
Le mot « field » est volontairement mal orthographié.
📋 Nom (laisser tel quel)
📋 ID : fieeeld
📋 Classe : fieeeld
📋 ID du conteneur : fieeeld-container
📋 Texte indicatif : fieeeld
✅ Utiliser la valeur standard pour l’autocomplétion.
✅ Déplacer le CSS en ligne
✅ Activer la vérification de durée
Pour mieux perturber les bots de spam, je te conseille d’insérer la balise entre deux champs du formulaire, par d’inquiétude, ce champ sera invisible pour un utilisateur humain.
Si tu ne veux pas passer par la configuration, tu peux directement copier ce petit bout de code dans ton formulaire, pense à l’insérer entre les vrais champs du formulaire et non pas à la fin !
<label>[honeypot fieeeld id:fieeeld class:fieeeld wrapper-id:fieeeld-container validautocomplete:true move-inline-css:true nomessage:true timecheck_enabled:true "important field"]</label>
Surveiller les spams
Ton formulaire est maintenant protégé ! Si tu consultes ton site, tu remarques que le champ que tu as configuré est parfaitement invisible.
Pourtant, si tu utilises l’extension Flamingo dont je t’ai parlé plus haut, tu vas vite remarquer que le honeypot capture des spams.
Dans l’interface des messages entrants, un nouvel élément « spams » est catégorisé.
Tu y retrouves l’ensemble des spams que tu as reçus, ils sont mis à la corbeille régulièrement de manière automatique.
Mon avis sur l’extension Honeypot for Contact Form 7
La sécurisation des formulaires WordPress est très importante pour éviter les spams sur tes formulaires et une gestion fastidieuse de tes prises de contact. Les solutions proposées par défaut avec Contact Form 7, soit Akismet Anti Spam ou Google reCAPTCHA, soulèvent à mon sens des problèmes en matière de confidentialité et peuvent ralentir les performances de ton site.
Dans cette optique, l’utilisation de Honeypot for Contact Form 7 se révèle être une alternative efficace et légère. Cette extension offre une protection contre les spams en intégrant un piège pour les robots spammeurs sans impacter négativement l’expérience utilisateur ni compromettre la vitesse de chargement des pages. Sa configuration simple, sa fiabilité et sa popularité en font une solution que je trouve très pertinente pour préserver l’intégrité de tes formulaires tout en garantissant une utilisation fluide de ton site WordPress pour tes utilisateurs.
Merci d’avoir lu cette publication jusqu’au bout, j’espère qu’elle t’aura été utile ! Si tu as des questions ou des remarques, n’hésite pas à m’envoyer un message via mon formulaire de contact 😉
Je serais très heureux d’échanger ensemble !