Un formulaire sans protection collecte du spam, et un formulaire doté d’une protection qui ne fait rien collecte le même spam tout en donnant un sentiment de sécurité. Le contrôle gratuit de protection de formulaire répond à la première moitié de cette question : quelle protection anti-bot la page livre-t-elle ? Cet article explique comment lire le résultat et où s’arrête sa réponse.
Ce que fait le contrôle
Vous saisissez l’adresse d’une page contenant un formulaire. Le contrôle commence par lire le fichier robots.txt de ce site ; s’il interdit la récupération ou ne peut pas être lu, le contrôle s’arrête là. Sinon, il récupère cette seule page, sous un nom clair (SilentShieldFormCheck), sans cookies, avec au plus trois redirections et au plus 1 MB. Il cherche ensuite dans le HTML les marqueurs des fournisseurs connus : adresses de scripts, classes d’éléments et noms de champs. Il connaît Google reCAPTCHA, hCaptcha, Cloudflare Turnstile, Friendly Captcha et SilentShield. Rien n’est enregistré, ni l’adresse ni le résultat.
Les cinq résultats
- Chaque formulaire porte un marqueur. Dans chaque formulaire trouvé, le HTML contient le marqueur d’un fournisseur connu. La protection est placée dans le formulaire.
- Seuls certains formulaires portent un marqueur. La liste indique quels formulaires en sont dépourvus.
- Un script de fournisseur est chargé, mais aucun formulaire ne porte de marqueur. La page charge le script d’un fournisseur, mais aucun de ses formulaires ne contient de marqueur. Savoir si le script protège un formulaire, et lequel, n’est pas visible sans exécuter JavaScript.
- Rien de détecté dans le HTML livré. La page contient des formulaires, mais ni marqueur ni script d’un fournisseur connu.
- Aucun formulaire dans le HTML livré. Les formulaires peuvent être créés par un script dans le navigateur, ce que le contrôle ne voit pas.
Ce que le contrôle ne peut pas voir
Le contrôle lit le HTML que votre serveur livre. Il n’exécute pas JavaScript. Cela entraîne quatre conséquences à garder à l’esprit.
- Un formulaire ou un widget qu’un script crée dans le navigateur n’existe pas pour le contrôle. « Rien de détecté » signifie donc « rien dans le HTML livré », jamais « non protégé ».
- Il ne peut pas savoir si votre serveur vérifie la réponse. Un widget dans le formulaire sans vérification côté serveur n’arrête personne.
- Une protection située en amont de la page, comme un pare-feu ou une limitation de débit, ne laisse aucune trace dans le HTML.
- Les pages protégées par une connexion sont hors de portée, car le contrôle ne récupère que des pages publiques, sans cookies.
Un exemple réel : notre propre page d’inscription
Lorsque nous avons lancé le contrôle sur notre propre page d’inscription, la première version a signalé deux fournisseurs dont le script serait « chargé ». La page n’en charge aucun. La cause venait des données de la page elle-même : une entrée de menu « Alternative à hCaptcha. » figurait dans un script en ligne, et le contrôle avait pris ce mot pour le code d’un fournisseur. Nous avons modifié la règle pour qu’un script en ligne ne compte que s’il appelle un fournisseur (un appel de rendu ou d’exécution), et la même page signale désormais que rien n’a été détecté dans le HTML livré. La leçon explique pourquoi le contrôle ne nomme que des faits : un mot sur une page n’est pas un fournisseur.
Que faire du résultat
- Si un marqueur est présent, testez l’autre moitié : envoyez le formulaire depuis l’extérieur avec la réponse manquante ou erronée, et regardez si votre serveur la rejette. Un marqueur montre seulement qu’un widget est placé.
- Si un script de fournisseur est chargé sans marqueur dans le formulaire, examinez la manière dont le widget est rattaché. De nombreuses configurations l’ajoutent dans le navigateur après le chargement de la page.
- Si rien n’a été détecté, n’en concluez pas que le formulaire est ouvert. Consultez les journaux de votre serveur et ce qui arrive réellement, et vérifiez si une protection agit sur le serveur ou en amont de la page.
- Si vous décidez de remplacer un défi visible, comparez les options sur la page comparatif des CAPTCHA et voyez ce que vous coûte un défi visible avec le calculateur de conversion.
Le contrôle est un premier regard sur le HTML livré, pas un audit. Utilisez-le pour savoir ce que votre page dit d’elle-même, et testez le reste en envoyant le formulaire.