Une entreprise qui n'avait pas de protection sur ces formulaires m’a contacté... En 1 mois, ils ont reçu 1615 demandes via leur formulaire. La grande majorité était des SPAM. J'ai analysé les logs et la provenance des requêtes... Voici le top 10 des pays d'où provenaient ces demandes :
(Seulement 4% des demandes provenaient du Canada et 3% des États-Unis! Le reste provenait de 66 autres pays.)
Si votre fournisseur DNS est Cloudflare (~19% des serveurs DNS), que votre site utilise la protection Cloudflare et que vous y avez accès, on peut facilement ajouter une règle qui permet de valider si l'utilisateur est un robot ou non lorsqu'un formulaire est soumis. Testez si votre site est protégé par Cloudflare: checkforcloudflare.selesti.com
Afin d'embêter le moins possible des visiteurs, je suggère de limiter la validation aux utilisateurs en fonction de leur provenance.
Dans votre compte Cloudflare, sélectionnez le domaine visé, dans notre cas ce serait “reptile.tech”. Ensuite dirigez-vous ici:
Security > WAF > Create Rule
Dans cet exemple, Cloudflare valide tous les visiteurs qui soumettent un formulaire et qui ne proviennent pas du Canada ou des États-Unis. Vous pourrez ajuster ces règles selon votre clientèle.
Le fichier .htaccess est utilisé avec les serveurs web Apache (~30% des serveurs) et Litespeed (~13% des serveurs) et permet de définir des instructions qui sont traitées au niveau serveur, influençant le comportement du site web sans nécessiter d'accès à la configuration du serveur. Il se situe généralement à la racine du site web, mais il peut aussi être placé dans des sous-répertoires pour y appliquer des règles spécifiques. Les règles de géolocalisation et de captcha sont spécifiques au serveur web Litespeed.
Les instructions suivantes fonctionnent seulement si l'hébergeur a activé la géolocalisation et le captcha au niveau du serveur Litespeed. (Les bons hébergeurs le font!). Mais vous pouvez l’essayer en toute quiétude, car j’ai ajouté une condition pour que le serveur ignore les instructions s’il ne les reconnaît pas.
Vous devez modifier le fichier ".htaccess" à la racine de votre site Internet en utilisant FTP ou avec le File Manager de cPanel (pour ne nommer que ces 2 options). L'important est de ne pas insérer les instructions au milieu d'une autre instruction mais, pour être certain, vous pouvez insérer ces instructions à la fin du fichier. Prenez une sauvegarde du fichier avant toute modification!
Option 1 :
Ajouter un captcha à l’entrée d’une page contenant un formulaire pour les visiteurs en dehors du Canada et des États-Unis.
<IfModule LiteSpeed>
<IfModule mod_geoip.c>
# Si la requête ne provient pas des États-Unis (US) ou(|) du Canada (CA)
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(US|CA)$
# Pour cette liste de pages, on exige un captcha à l'entrée de la page:
RewriteRule ^(fr/contact/|en/contact/) - [E=verifycaptcha:deny]
</IfModule>
</IfModule>
Option 2 :
Bloquer directement la soumission du formulaire pour TOUS les visiteurs de certains pays.
<IfModule LiteSpeed>
<IfModule mod_geoip.c>
# Si la requête ne provient pas des États-Unis (US) ou(|) du Canada (CA)
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(US|CA)$
# et que la requête est un formulaire soumis
RewriteCond %{REQUEST_METHOD} POST
# Pour cette liste de pages, on bloque:
RewriteRule ^(fr/contact/|en/contact/) - [F]
</IfModule>
</IfModule>
*Pensez à tester vos formulaires après modification. Il vaut mieux recevoir du SPAM que de ne pas recevoir vos véritables demandes!
Un client, n'ayant pas de protection "Capcha" à ses formulaires a reçu plusieurs SPAM d'un certain "ericjonesmyemail@gmail.com" de blazeleadgeneration(.)com provenant de plusieurs IP. Nous avons réussi à rapidement bloquer ces SPAM en utilisant cette règle Cloudflare.
En générant volontairement une erreur sur son formulaire de désabonnement, j’ai pu accéder à l’emplacement de sauvegarde des données et télécharger une liste contenant près de 500 000 domaines ayant tenté de se désinscrire. Cela montre l’ampleur de ce polluposter...
Jean-Francois Labelle
COO, Co-Fondateur
Aide l'équipe à résoudre leurs défis techniques et s'assure de la qualité des livrables.
Comment pouvons-nous vous aider?