Empêcher le spam et les envois par des robots dans les formulaires

Stoppez le spam et les attaques de robots sur vos formulaires. Techniques de prévention et quand utiliser un CAPTCHA.

Brouillon

Regardez les envois d'un formulaire non protégé et vous trouverez toujours la même chose : des dizaines de messages indésirables, de faux contacts, de liens malveillants et de charabia. Cela ne vient pas de personnes qui remplissent votre formulaire à la main. Ce sont des scripts automatiques pilotés par des pirates et des spammeurs. Empêcher le spam et les envois par des robots arrête ces attaques avant qu'elles ne vous fassent perdre du temps ou n'abîment vos données.

Le spam est plus qu'une nuisance. Il encombre votre base de données, fausse vos statistiques, remplit votre boîte de réception et peut masquer de vraies menaces de sécurité. Une prévention efficace des robots protège votre formulaire et garde vos données propres.

Ce que vous allez apprendre : comment les robots attaquent les formulaires, pourquoi les protections simples ne suffisent pas, quelles méthodes de prévention fonctionnent le mieux et comment les mettre en place sans agacer les visiteurs légitimes.

Comment fonctionnent les attaques de robots sur les formulaires

Un robot (bot) est un programme automatique qui exécute des tâches répétitives. Les robots qui attaquent les formulaires font des choses comme :

  • Remplir automatiquement chaque champ avec du texte aléatoire
  • Envoyer le formulaire des milliers de fois par jour
  • Injecter des liens ou des publicités dans les champs
  • Chercher des failles de sécurité en sondant le formulaire
  • Récupérer des adresses e-mail pour les ajouter à des listes de spam

Contrairement à un pirate qui peut viser un formulaire précis, les robots attaquent des milliers de formulaires à grande échelle. Ils parcourent Internet à la recherche de formulaires et, quand ils en trouvent un, envoient du spam automatiquement. Vous pouvez vous réveiller avec 10 000 faux envois dans votre boîte.

Pourquoi les formulaires sont vulnérables aux robots

Les formulaires acceptent les saisies de n'importe qui

Par conception, les formulaires sont ouverts sur Internet. N'importe qui peut trouver votre formulaire et l'envoyer. Il n'y a pas de vérification initiale que la personne est un vrai humain.

Les formulaires sont prévisibles

Si un robot peut voir votre formulaire dans le HTML d'une page, il peut en extraire la structure et comprendre quels champs remplir. Les formulaires sont donc des cibles faciles pour l'automatisation.

La plupart des formulaires n'ont aucune protection

Beaucoup de sites publient des formulaires sans aucune détection de robots. Les robots apprennent vite à exploiter ces cibles sans défense.

Pourquoi les protections de base ne fonctionnent pas

Masquer les noms des champs

Certains pensent que cacher les noms des champs va dérouter les robots. Mais les robots peuvent retrouver les noms dans le HTML ou en analysant l'envoi du formulaire. Cela ne marche pas.

Champs pièges (honeypot)

Un champ piège est un champ caché que les visiteurs légitimes ne voient jamais. Les robots, qui ne comprennent pas le CSS ni les attributs cachés, le remplissent quand même. Vous pouvez rejeter les envois où ce champ est rempli.

Cela fonctionne contre des robots très simples, mais les robots sophistiqués connaissent les champs pièges et savent ne pas les remplir. C'est aujourd'hui une défense faible à elle seule.

Petits problèmes de calcul ou questions simples

« Combien font 2 + 2 ? » semble être une question à laquelle un robot ne peut pas répondre. Mais l'IA moderne et les outils d'OCR (reconnaissance optique de caractères) savent lire et résoudre de simples problèmes de calcul. Cette défense est dépassée.

Méthodes efficaces de prévention des robots

CAPTCHA

Le CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) est la méthode de prévention la plus courante. Il en existe plusieurs types :

CAPTCHA textuel : l'utilisateur résout une énigme de texte déformé. Plus ancien et moins efficace aujourd'hui, car l'IA sait lire du texte déformé.

CAPTCHA par images (reCAPTCHA v2) : l'utilisateur coche des cases ou repère des objets dans des images. Plus fiable que le texte mais pas parfait. C'est ce que vous voyez sur beaucoup de sites.

CAPTCHA invisible (reCAPTCHA v3) : l'utilisateur ne voit rien. Le système analyse son comportement (comment il bouge la souris, à quelle vitesse il remplit le formulaire) pour déterminer s'il est humain. Aucune friction pour les vrais utilisateurs, mais cela demande un système plus sophistiqué en arrière-plan.

Limitation de débit

La limitation de débit restreint le nombre de fois où une même adresse IP ou un même compte peut envoyer un formulaire sur une période donnée. Si un pirate tente d'envoyer 1 000 formulaires en 10 minutes depuis la même IP, la limitation de débit le bloque après les 5 premiers envois en 10 minutes.

La limitation de débit est invisible pour les vrais utilisateurs (la plupart des gens n'envoient pas le même formulaire 20 fois en une heure) mais efficace contre les robots (qui envoient à répétition et à une vitesse surhumaine).

Vérification de l'e-mail

Demandez aux visiteurs de vérifier leur adresse e-mail en cliquant sur un lien dans un e-mail de confirmation. Les robots ne peuvent généralement pas accéder à des boîtes de réception (ou utilisent de fausses adresses). Cela élimine de nombreux envois de robots.

Inconvénient : cela crée une friction supplémentaire pour les visiteurs légitimes. Utilisez-la pour les formulaires à forte valeur (inscriptions, création de compte) où vous acceptez d'ajouter une étape.

Analyse comportementale

Analysez la façon dont les visiteurs interagissent avec le formulaire :

  • Ont-ils rempli le formulaire à une vitesse surhumaine (tous les champs en 0,5 seconde) ? Probablement un robot.
  • N'ont-ils jamais activé un champ (simplement parcouru avec la tabulation sans écrire) ? Probablement un robot.
  • Ont-ils rempli un champ, l'ont effacé, l'ont rempli à nouveau, l'ont encore effacé ? Probablement un humain.

Cela demande du JavaScript sur le formulaire pour suivre les interactions. C'est invisible pour les vrais utilisateurs et efficace contre les robots simples.

Empreinte de l'appareil

Analysez les caractéristiques de l'appareil qui envoie le formulaire (type de navigateur, système d'exploitation, résolution d'écran, fuseau horaire, etc.). Les robots ont souvent des empreintes inhabituelles ou incohérentes. Les appareils légitimes ont des schémas qui paraissent humains.

C'est sophistiqué et cela demande des services tiers, mais c'est très efficace.

Quand utiliser chaque méthode

Pour un formulaire de contact simple

Utilisez la limitation de débit (invisible) plus un CAPTCHA si vous recevez beaucoup de spam. La vérification de l'e-mail est facultative.

Pour un formulaire d'inscription à une newsletter

Utilisez la limitation de débit plus la vérification de l'e-mail. Cela confirme que l'adresse est réelle et empêche les inscriptions en masse de fausses adresses.

Pour un formulaire à forte valeur (création de compte, paiement, etc.)

Utilisez plusieurs couches : limitation de débit, CAPTCHA, vérification de l'e-mail. Envisagez l'analyse comportementale pour plus de certitude.

Pour un point d'accès d'API ou un accès programmatique

Utilisez l'authentification d'API (jetons ou clés d'API) au lieu du CAPTCHA. Le CAPTCHA ne fonctionne pas pour les API. La limitation de débit est indispensable.

L'impact de la prévention des robots sur l'expérience utilisateur

Une forte prévention des robots peut créer de la friction pour les vrais utilisateurs. Équilibrez sécurité et facilité d'usage :

CAPTCHA : ajoute quelques secondes et une étape. Visible et un peu agaçant, mais largement accepté par les utilisateurs. Beaucoup de gens s'y attendent.

Vérification de l'e-mail : demande à l'utilisateur de consulter ses e-mails et de cliquer sur un lien. Plus de friction, mais nécessaire pour les actions à forte valeur.

Analyse comportementale ou limitation de débit : invisibles. Aucune friction pour les vrais utilisateurs.

Bonne pratique : utilisez d'abord les méthodes invisibles (limitation de débit, analyse comportementale). N'affichez un CAPTCHA que si l'envoi paraît suspect. Ainsi, 95 % des vrais utilisateurs ne voient jamais de CAPTCHA, mais les robots en voient presque toujours un.

Surveiller les envois pour repérer le spam

Même avec une prévention en place, un peu de spam peut passer. Surveillez vos envois :

  • Examinez régulièrement les nouveaux envois pour repérer des schémas évidents de spam
  • Cherchez les envois avec du texte incohérent ou des liens
  • Suivez le rythme des envois (s'il grimpe soudainement, vous êtes peut-être attaqué)
  • Regardez de quels pays viennent les envois (si vous ne servez que les États-Unis, des envois de certains pays peuvent être suspects)

La plupart des formulaires permettent de marquer les envois comme spam. Utilisez cela pour entraîner les modèles d'apprentissage automatique qui peuvent aider à prévenir le spam futur.

Ce que fait WEMASY pour prévenir le spam

Les formulaires WEMASY incluent par défaut une prévention des robots. Chaque formulaire comprend une limitation de débit (les envois multiples depuis la même IP sont ralentis) et une protection CAPTCHA facultative (reCAPTCHA v3). Vous pouvez activer la vérification de l'e-mail pour les formulaires qui l'exigent. WEMASY surveille aussi les envois à la recherche de schémas de spam et signale les entrées suspectes.

Tous les formulaires sont livrés avec une protection contre le spam. Des protections plus avancées sont disponibles dans les offres supérieures. Consultez le détail de votre offre sur la page des tarifs.

Questions fréquentes

Le CAPTCHA empêche-t-il tout le spam ?
Le CAPTCHA bloque la plupart des robots, mais pas tous. Des attaques sophistiquées peuvent le contourner grâce à des services qui les résolvent automatiquement. Cependant, le CAPTCHA relève nettement le niveau. La plupart des spammeurs passeront à des cibles plus faciles. Associez le CAPTCHA à la limitation de débit pour une meilleure protection.
reCAPTCHA v3 est-il meilleur que v2 ?
reCAPTCHA v3 est invisible (aucune friction pour les utilisateurs) alors que v2 affiche une case à cliquer. v3 est meilleur pour l'expérience utilisateur mais vous demande de faire confiance à l'analyse que Google fait du comportement de l'utilisateur. v2 est plus transparent car l'utilisateur fait un choix explicite. Les deux sont efficaces. v3 est préféré pour les formulaires à fort trafic.
Puis-je utiliser des champs pièges à la place du CAPTCHA ?
Les champs pièges bloquent les robots simples mais pas les sophistiqués. Associez-les à la limitation de débit pour une meilleure protection. Si vous recevez beaucoup de spam, un champ piège seul ne suffit probablement pas. Ajoutez un CAPTCHA ou la vérification de l'e-mail.
Que faire si des utilisateurs légitimes n'arrivent pas à résoudre le CAPTCHA ?
Certaines personnes (surtout celles avec une déficience visuelle) ont du mal avec les CAPTCHA par images. La plupart des services comme reCAPTCHA v2 incluent des alternatives audio. Pour l'accessibilité, utilisez le CAPTCHA le plus simple possible et assurez-vous que l'alternative est disponible. Ou utilisez un CAPTCHA invisible (v3) qui n'exige aucune action de l'utilisateur.
Comment savoir si mon formulaire subit une attaque de spam ?
Surveillez les pics soudains d'envois, surtout s'ils contiennent des schémas évidents de spam (liens, charabia, texte répété). Si vous recevez soudain 100 envois en 10 minutes (alors que votre rythme normal est de 10 par jour), vous êtes attaqué. Activez immédiatement une prévention des robots plus stricte.

Mettez-le en pratique
sur votre propre site.

Commencez gratuitement avec WEMASY et créez votre site en quelques minutes.