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.