Aller au contenu
Antisy

Spam sur un formulaire de contact : que faire, mesure par mesure

Un formulaire de contact est ouvert à tout Internet, et des programmes le trouvent. Regardez d’abord ce que vous recevez, puis ajoutez les mesures par ordre de gêne croissante pour vos vrais visiteurs : un formulaire vérifié côté serveur, un champ piège, une limite aux rafales, un tri prudent du contenu, puis un contrôle anti-bot. Une énigme à résoudre est un dernier recours, pas un premier réflexe.

État au .

Par Thibault Peray, fondateur d’Antisy Sàrl. · Tous les articles

Que reçoit-on dans un formulaire de contact ?

Relisez les derniers messages indésirables et rangez-les en trois familles.

  • Des messages en série, écrits par un programme : liens, publicité, texte sans rapport avec votre activité. Les mesures ci-dessous les visent.
  • Du démarchage tapé à la main, depuis un vrai navigateur. Aucun contrôle anti-bot ne le distingue d’un message légitime ; seuls le tri du contenu et votre boîte de réception s’en chargent.
  • Des tentatives de détourner le formulaire pour qu’il envoie du courrier à d’autres adresses que la vôtre : voir l’étape 1.

Voir : Glossaire : spam de formulaire

Étape 1 : vérifier le formulaire lui-même

Le formulaire ne doit faire confiance à rien de ce qu’il reçoit.

  • Validez chaque champ sur le serveur : présence, type, longueur. Le contrôle fait dans la page par JavaScript ne protège de rien, un programme n’en tient pas compte.
  • Fixez le destinataire dans le code. Ne reprenez jamais une adresse, un sujet ou un en-tête depuis un champ sans le nettoyer : c’est ainsi qu’un formulaire devient un relais de courrier.

Étape 2 : un champ piège (honeypot)

Un champ piège est un champ que la mise en page cache au visiteur. Une personne le laisse vide ; un programme qui remplit tous les champs le complète, et l’envoi est reconnu comme automatisé. Trois précautions évitent de refuser un vrai visiteur :

  • cachez-le par la mise en page, et marquez-le aria-hidden="true" avec tabindex="-1", pour qu’un lecteur d’écran ne le lise pas et qu’on ne l’atteigne pas au clavier ;
  • ajoutez autocomplete="off" : le remplissage automatique d’un navigateur complète parfois des champs qu’il croit reconnaître ;
  • donnez-lui un nom ordinaire, pas « piège » ni « honeypot ».

Sa limite : il n’arrête que les programmes qui remplissent tous les champs.

Voir : Glossaire : honeypot

Étape 3 : ralentir les rafales

Un programme envoie vite, et plusieurs fois de suite. Deux limites, à régler sur vos messages :

  • un temps minimum entre l’affichage de la page et l’envoi. Mettez-le large : un navigateur qui préremplit gagne aussi du temps ;
  • un nombre maximal d’envois par source sur une période. Une même adresse peut cacher beaucoup de personnes, dans un bureau ou chez un opérateur mobile : répondez « réessayez plus tard » plutôt que de bannir.

Étape 4 : filtrer le contenu avec prudence

Refuser les messages qui contiennent un lien est tentant quand votre formulaire n’en attend pas. Un filtre sur des mots est pourtant fragile : il refuse parfois un vrai message. Mettez les envois douteux de côté pour les relire plutôt que de les jeter.

Étape 5 : un contrôle anti-bot

Un CAPTCHA demande au visiteur de prouver qu’il est humain : cocher une case, reconnaître des images, résoudre une énigme. Un contrôle anti-bot invisible (on parle parfois de « CAPTCHA invisible ») ne demande rien et décide à partir de mesures du navigateur. Le premier fait porter l’effort sur vos vrais visiteurs et pose la question de l’accessibilité.

Voir : Glossaire : CAPTCHA invisible · CAPTCHA et accessibilité : ce que disent les WCAG et le W3C · Détection de bots : distinguer un robot d’un humain

Où Antisy se place

Antisy est de cette famille, pour les formulaires. Une balise dans la page charge le script ; à l’envoi, il met un jeton court dans le champ caché antisy-token ; votre serveur envoie ce jeton à Antisy avec son secret et lit la réponse, allow ou deny. Il n’y a que ces deux résultats, et la réponse n’en donne jamais la raison. Sur deny, refusez l’envoi sans dire pourquoi.

Antisy s’ajoute aux étapes 1 à 4, il ne les remplace pas. Il ne distingue pas le démarchage tapé à la main, ne filtre pas les e-mails, ne lit jamais le contenu des champs, et il n’annonce aucun taux de détection. Pour un formulaire de contact, l’appel est l’appel simple ; les guides PHP, Next.js et WordPress montrent où brancher chaque pièce. Il n’existe pas d’extension WordPress.

Voir : Cas d’usage : protéger un formulaire de contact · Guide : protéger un formulaire WordPress · Guide : protéger un formulaire PHP · Guide : protéger un formulaire Next.js · Documentation : si le script ne tourne pas · Documentation : quand l’API ne répond pas

Où en est Antisy ?

L’accès se fait sur liste d’attente. L’API et le tableau de bord sont en service depuis le 27 octobre 2026, hébergés chez Infomaniak à Genève ; aucun client n’est encore en production. Le pilote a commencé le 9 novembre 2026 sur nos propres formulaires.

Voir : Le pilote · Rejoindre la liste d’attente

Questions fréquentes

Faut-il un CAPTCHA pour arrêter le spam d’un formulaire de contact ?

Non. Les étapes 1 à 4 se font sans rien demander au visiteur, et un contrôle invisible aussi. Un CAPTCHA est une option, qui coûte à ceux qui doivent le résoudre.

Comment arrêter le spam d’un formulaire de contact WordPress ?

Avec les mêmes étapes. Un formulaire d’extension a sa façon de recevoir et de valider un envoi : commencez par ses réglages anti-spam. Pour un formulaire écrit à la main ou pour les commentaires, le guide WordPress du site montre où brancher la vérification d’Antisy. Il ne couvre pas les extensions de formulaires, et ce point n’a pas été vérifié.

Voir aussi : Cas d’usage : protéger un formulaire de contact · CAPTCHA et accessibilité : ce que disent les WCAG et le W3C · Inscriptions parasites à une lettre d’information : que faire, dans quel ordre · Questions fréquentes : Antisy est-il un antispam ? · Questions fréquentes : Antisy risque-t-il de bloquer de vrais visiteurs ? · Formulaire Webflow : ce que fait la plateforme contre le spam