Protéger vos formulaires web contre les robots : analyse de 2 solutions de captcha open source

Consultant web

Renaud

Publié le 08/04/2025

Un robot remplissant un formulaire sur un site web se fait passer pour un humain

Nous avons testé deux captcha open source

La problématique

Les formulaires web sont ciblés par les (méchants) spammeurs qui poursuivent deux objectifs :

  • Diffuser des contenus et des liens
  • Tenter une approche d'hameçonnage (phishing)

Ces pratiques sont nuisibles et pour s'en prémunir il existe deux approches complémentaires :

  • Filtrer les formulaires au niveau de la page web en s'assurant que ce sont bien des êtres humains qui sont derrière la soumission du formulaire : c'est le rôle des captcha.
  • Filtrer les contenus envoyés par les formulaires au niveau du serveur avec un algorithme qui permet de détecter les contenus de l'ordre du spam ou phishing : c'est le rôle d'un anti-spam.

Ces outils sont efficaces mais ils mettent à mal le caractère privé des données transmises. Certains captcha épient le comportement de l'utilisateur pour juger si c'est un robot ou un être humain en traçant sa navigation sur les sites web, ce qui pose des problèmes de conformité au RGPD. D'un autre côté, les systèmes de détection de robots demandant de relever un défi (comme décoder un chiffre peu lisible ou recomposer un puzzle) sont des obstacles à l'expérience utilisateur, néfastes pour l'accessibilité du site et parfois bloquants pour la collecte de données par les formulaires web.

Pour répondre à cette problématique, nous avons testé deux solutions innovantes qui répondaient aux critères suivants :

  • Ne dégradant pas l'expérience utilisateur
  • Accessibles, y compris sur mobile
  • Hébergeables sur nos serveurs et donc respectant le RGPD + open-source
  • N'impactant pas la rapidité des formulaires

Comparaison solutions captcha open source

 

Comparatif de deux solutions captcha : Altcha et Mosparo

Altcha et Mosparo proposent tous les deux une solution de captcha répondant à nos critères précédents. Voici les similitudes et différences des deux solutions :

Les points communs

  • Concernant l'expérience utilisateur, l'accessibilité, la compatibilité mobile, les deux solutions sont comparables : une case à cocher simple permet de valider le formulaire.
  • Il est possible d'activer une validation automatique (au chargement du formulaire ou au focus sur un champ) mais ce mode de validation est trop facile à contourner pour les robots, nous le déconseillons.
  • En jouant sur les options, on peut se débarrasser du logo et modifier les textes dans la langue que l'on veut. Altcha propose de régler la complexité de résolution du captcha ce qui influe sur le temps de validation du formulaire et permet de s'adapter à la puissance disponible de votre serveur et de vos clients.
  • Tous les deux possèdent un plugin WordPress efficace très simple à utiliser.
  • Les deux systèmes sont open-source, mais attention, la partie anti-spam proposée par Altcha ne l'est pas.
  • La documentation technique est bien faite dans les 2 cas.

Le respect des données privées des utilisateurs

Pour ces deux captcha, la conformité au RGPD est assurée mais de manière différente :

  • Le captcha d'Altcha fonctionne avec un système par preuve de travail (Proof of Work, PoW) : le terminal client doit résoudre un défi numérique. Il s'installe facilement sur le serveur utilisé par le site ou sur un autre car Altcha fournit des librairies pour l'intégrer à n'importe quel système web standard. Les données ne sortent donc pas du serveur et ne sont pas conservées.
  • Le captcha de Mosparo est auto-hébergé sur un de vos serveurs. Les données sont stockées dans une base de données SQL du serveur. Elles sont bien cryptées et supprimées au bout de 14 jours si on met en route un batch. Ici aussi les données restent donc sur vos serveurs et cela vous assure une bonne compatibilité avec le RGPD.

Les différences

Le filtrage des robots

Les deux solutions diminuent fortement le spam par les robots. Cependant, les deux solutions restent facilement contournables puisqu'un simple script nous a permis de soumettre des formulaires en boucle. Nous soulignons que le captcha d'Altcha arrive à temporiser fortement les soumissions et présente donc un intérêt important par rapport au captcha de Mosparo qui doit impérativement fonctionner avec un système de pot de miel pour être efficace.

Le filtre anti-spam

Altcha propose une solution de filtre anti-spam perfectionnée à plugger sur vos formulaires en complément du captcha. Mais ce service n'est pas open source et il est payant. Il se déclare compatible avec le RGPD mais a priori nous n'avons aucune garantie sur le traitement des données privées.

Au contraire, Mosparo fournit un système de filtre pertinent qui permet d'aller plus loin que la modération des robots. En effet, avec ce filtrage vous pouvez intercepter une bonne partie des mails d'hameçonnage.

La mise en place

Altcha s'installe très simplement sur le serveur où toune le site, par exemple via le plugin WordPress, ou bien via les librairies open-source proposées par Altcha dans votre projet PHP, JS ou autre. Vous n'avez donc pas forcément besoin d'un serveur indépendant mais vous pouvez en utiliser un si vous souhaitez déporter la charge de travail de vos serveurs qui propulsent vos sites web. Altcha propose un code d'intégration et un serveur exemple.

Mosparo nécessite l'installation d'un serveur LAMP. L'installation est standard et nécessite des ressources assez limitées. L'avantage est de pouvoir monter en charge sans impacter vos sites web.

La logique commerciale

Altcha édite une solution complète d'anti-spam, de statistiques, de formulaires dont les captcha font partie. La solution est globalement présentée comme RGPD compatible mais seule la partie captcha est open-source. Le code du serveur est en licence MIT comme le plugin WordPress mais les autres services sont payants. Le modèle économique est du genre freemium.

Pour info, le filtre anti-spam est sur abonnement : 200 requêtes par jour gratuites puis 12€/mois (anti-spam non testé dans cet audit).

Au contraire, Mosparo a été créé en 2021 par Matthias Zobrist, informaticien engagé dans l'open-source et basé en Suisse. Le code du serveur et du plugin sont en licence MIT et le modèle est définitivement open-source soutenu par une association (si vous voulez faire un don c'est par ici). On souligne que leur site web mosparo.io n'utilise aucun tracker et ça, on aime bien ! 😻

Les points à retenir

Les deux solutions sont pertinentes et il n'est pas question d'essayer de dégager quelle solution est la meilleure mais plutôt dans quel cas utiliser laquelle.

  • Mosparo est un vrai outil open-source alors qu'Altcha est un modèle freemium
  • Altcha fonctionne bien pour les petites installations notamment avec son plugin WordPress très efficace
  • Le captcha d'Altcha peut être embarqué dans un projet de développement sur mesure
  • Mosparo permet de faire du filtrage anti-spam en plus du captcha qui détecte les robots alors que la solution d'Altcha est payante
  • Le filtrage anti-spam de Mosparo nécessite une mise en place et une maintenance des règles assez lourdes

Comparaison solutions captcha open source

 

Conclusions

Mosparo convient aux grandes architectures. C'est un outil open-source puissant qui nécessite un certain investissement de départ mais peut être étendu à tout un réseau de sites à protéger.

Altcha est une bonne solution pour les petits sites avec son captcha open-source. Sa solution anti-spam payante est un bon prolongement mais est à la frontière de l'acceptable en ce qui concerne le respect du RGPD. Il peut aussi être embarqué dans un projet de développement d'envergure avec la même limitation concernant le RGPD sur la partie anti-spam uniquement.

Les deux systèmes étant open-source, il nous paraît intéressant de considérer une modification de ces systèmes pour votre usage. Par exemple, introduire un peu d'IA dans Mosparo permettrait de mieux gérer les règles de filtrage. Ou encore incorporer Altcha dans Mosparo serait une idée à creuser pour conjuguer les avantages des deux solutions.

Ce travail est issu d'un travail d'audit réalisé pour le Secours populaire qui a accepté d'en rendre public les résultats et que nous remercions ici.

Pour en savoir plus sur nos services d'audit de site web et d'assistance à la maîtrise d'ouvrage web, consultez notre site ou contactez-nous !

Si vous voulez approfondir le sujet des captcha sur WordPress, nous avons une série d'article sur les captcha et le spam sur notre blog consacré au CMS.

La version anglaise de cet article est publiée sur Medium : Analysis of two open source captcha solutions

Illustration du post : ChatGPT

Dernières publications

Les dernières publications de nos consultants AMO experts web