Depuis plusieurs mois, voire plusieurs années, les robots pollueurs de formulaires envahissent le Web, au grand desespoir des webmasters peu expérimentés ou avec peu de moyens, qui voient donc leurs sites inondés de messages peu appréciables...
Bien sur, il existe des solutions pour s'en prémunir, mais encore faut il les connaître et les utiliser correctement...
La première solution est la protection des formulaires sur le site public.
La solution très en vogue est d'utiliser un système appelé Captcha, qui affiche un code sur une image, créé dynamiquement. Cette solution fut longtemps suffisante, quelque soit l'image et la police utilisées, mais avec le progrès des programme de reconnaissance de caractères (OCR) et l'amélioration des robots pollueurs, ce n'est plus toujours le cas aujourd'hui.
Une amélioration sensible a été apportée avec reCaptcha, mais cette méthode (tout comme les captchas traditionnels) possède également ses limites, notamment en terme d'accessibilité.
Une alternative est un système de question/réponses, soit basé sur du texte ou sur un message audio. Cette solution alternative est cependant délicate à gérer, puisqu'il faut proposer des questions suffisamment complexes et variées pour ne pas permettre aux robots d'y répondre... mais suffisamment simples pour laisser vos visiteurs poster vos formulaires.
Les deux méthodes (Captcha et système question/réponse) présentent un problème majeur (tout du moins dans TOUTES les solutions que j'ai trouvées jusqu'à aujourd'hui) pour les gros sites avec de nombreux formulaires: Ils nécessitent l'ajout de code dans chaque formulaire a protégé. Plutôt fastidieux, non ?
Alors que faire ?.. Utiliser la seconde solution:
Vérifier les informations envoyées.
Deux point sont à vérifier: le contenu et la fréquence des envois.
Attention, là encore, quelque soit le point vérifié, vous ne serez jamais complètement à l'abri.
En effet, comment filtrer le contenu sans risquer de perdre de précieux messages ? Un robot pourrait tout à fait poster un message anodin avec un lien vers une page "normale" où une redirection vers le site final, bien moins recommandable, aurait lieu... Un robot pourrait également être programmé pour changer sa fréquence d'attaque. Bien difficile alors de le contrer.
Alors que faire ?.. Utiliser la troisième solution:
Filtrer les utilisateurs autorisés
Il est évident que restreindre vos formulaires aux membres de votre site n'est pa la solution, puisque il suffirait alors de s'inscrire manuellement pour obtenir un utilisateur dans votre système qui ensuite serait utilisé par le robot.
On pourrait croire que l'adresse IP soit alors la solution idéale pour identifier vos utilisateurs et bloquer le spam, puisque cette adresse est unique, mais évidemment ce n'est pas la solution miracle...
En effet, rien n'oblige un robot à polluer vos formulaires depuis des ordinateurs différents via des proxys "anonymes", voire même des cyber-cafés, ce qui aurait comme conséquence de bloquer tous les autres vrais utilisateurs utilisant ces mêmes adresses.
Il existe bien sur des listes d'IPs reconnues de spammeurs sur le Web, qui peuvent néanmoins être utilisées pour bloquer une bonne partie du Spam, mais cela reste insuffisant.
Alors que faire ?.. N'existe-t-il aucune solution réellement fiable ?
Après avoir cherché plusieurs heures sur le Web, je n'ai rien trouvé de correct et me lance donc dans la programmation d'un outil pour le CMS e107, qui ne sera pas non plus 100% fiable, mais qui devrait toutefois proposer un degré de protection supérieurs, en cumulant toutes les techniques précédemment décrites. Voici en quelques lignes les points clés, afin que vous puissiez monter un projet équivalent si le coeur vous en dit:
- Protection de tous les formulaires sur le site (avec possibilité cependant de laisser des formulaires non protégés si besoin) Plutôt que d'ajouter manuellement un code dans chaque formulaire, l'utilisation d'une expression régulière couplée au système de tampon (buffer) d'e107, rend la chose aisée... - Utilisation d'un système de type Captcha complètement paramétrable (image de fond, police utilisée, inclinaison texte, effets...) - Questions/réponses éditables et de types différents (question texte, choix multiple, problème mathématiques) - Possibilité d'utiliser l'une ou l'autre méthode... ou encore cumuler les deux méthodes ! - Vérification des informations postées, avec une Blacklist de termes - Système anti flood (bloque des messages identiques) - Vérification de la fréquence des messages en fonction de leurs longueurs (comment un humain peut il taper 15 lignes en 2 secondes ?) - Gestion d'adresses IP suspectes (local et/ou via une liste partagée entre différents webmasters) - Enfin, plugin configurable aisément (depuis l'administration d'e107) afin de pouvoir réagir rapidement au cas où les paramètres utilisés seraient trop "souples"
Voilà de quoi créer un système qui devrait être satisfaisant... A voir d'ici quelques semaines probablement sur ce site.
toutes les remarques sur cet article sensible seront les bienvenues !!!
mercredi 16 janvier 2008 - 10:26:25
Ecrire un commentaire
Seuls les membres connectés peuvent soumettre des commentaires.
Ce site est basé sur le système e107 et utilise le thème graphique Deep Blue (légèrement modifié)
Le contenu appartient aux blogueurs respectifs du site mais peut être réutilisé, si vous nommez la source.