====== Introduction ====== Dans la page [[wordpress:anti_spam]], on a soulevé la problématique avec Akismet et la protection anti-spam. Mais les méthodes proposées ne font que protéger contre les spams qui arrivent sur votre site. On espère simplement que les spammeurs se rendront compte un jour que leus spams sont bloqués et qu'ils arrêteront de spammer notre site. La réalité -assez étrange- est que les spammeurs continuent de spammer même si Akismet arrête les spams ?! Est-ce qu'il est possible de réduire les spams arrivant sur le site ?! ====== Javascript et les moteurs de recherche ====== Pour poser la difficulté de décoder un programme, il suffit de constater que Google (et tous les autres moteurs...Yahoo...etc...) ne fait qu'analyser le contenu HTML d'une page web. Tout le code Flash ou Javascript est ignoré! C'est une bonne raison pour laquelle tous les sites ne sont pas encore sous Flash, et que même ceux sous Flash contiennent du contenu HTML, caché aux utilisateurs, et seulement dédié aux moteurs de recherche. Le HTML est structuré de manière facilement décodable et c'est bien ça qui fait son succès! Cette facilité de lecture profite aussi aux spammeurs. Par contre, le code Javascript présente les avantages * d'être quasiment accepté sur tous les navigateurs, dont toujours accessibles aux utilisateurs. * d'être très difficile à décoder avec peu de ressources Pour savoir comment un code Javascript modifie le DOM de la page HTML, la meilleure méthode est de reconstruire le DOM et puis d'exécuter ce code Javascript. Bref, ça revient à exécuter FireFox! Et ça consomme énormément de ressources et de temps si il faut le faire sur un nombre gigantesque de pages. ====== Cacher le formulaire de commentaires en Javascript ====== Dans la première partie présentant les astuces pour contrer le spam dans WordPress, on a vu que le point faible de wordpress était de proposer un point d'accès connu pour les commentaires. par exemple: http://mon.site.com/wp23/wp-comments-post.php Les spammeurs accèdent à cette URL en analysant le code HTML d'un article de votre site. L'idée est maintenant de cacher le formulaire en utilisant Javascript. Il y a des milliers de façons d'écrire du code Javascript pour construire le formulaire. Et étant donné les ressources nécessaires pour exécuter ce code et trouver le formulaire, il est peu vraisemblable qu'un spammeur se donne cette peine pour ensuite avoir ses spams bloqués par votre clé. Si on regarde simplement le code HTML, votre article ne propose alors pas de formulaire de commentaires et donc ne se fait pas spammer. Cette méthode gagne toute son importance dès la mise en ligne de votre site. Mais que faire si votre site a déjà été repéré par le spam ? ====== Piéger le formulaire de commentaires avec Javascript ====== Cette méthode est utilisée depuis plusieurs semaines et les spams ont depuis complètement cessé! Je ne pensais vraiment pas que cela marcherait aussi bien! Je me suis dit que c'était une bonne farce à faire au spam: les spammeurs récupèrent l'URL dans la page HTML alors, je vais montrer une FAUSSE URL en HTML et avec Javascript reconstruire la bonne pour les vrais utilisateurs! L'exemple du "retour de souffle":
Cela va donner ce type de code Le formulaire va alors envoyer la requête sur ... l'ordinateur de l'utilisateur! Il faut rajouter le code javascript pour rétablir la bonne destination: Avec cette astuce, un spammeur non consciencieux va se spammer lui même! **Et le spam a depuis cessé sur mon site!** //Il m'est aussi venu à l'idée de mettre une autre URL que l'adresse IP du visiteur... hehe... LOL // //Mais ça aurait fait de moi un spammeur... :-/ // ====== Réflexions sur les résultats anti-spam ====== Les résultats obtenus avec ces astuces semblent montrer que les spammeurs de WP ne cherchent pas trop à affronter les situations tordues. Je pense que cela vient pour beaucoup du fait que énormément de sites WP se font spammer très facilement. La donne changera sûrement quand la protection anti-spam de WP sera meilleure. Mais vu que WordPress et Akismet sont fournis par Automattic, cela risque de prendre du temps! Akismet fournit un parapluie anti-spam très simple à mettre en place. Et cela suffira longtemps à beaucoup d'utilisateurs. Par contre, leur position contre le spam est très étonnante: http://akismet.com/stats/ Ils semblent plutôt se réjouir que le nombre de spams augmente, tout fiers que leur parapluie fonctionne. Et c'est tout! Ce qui est à la limite de l'aberration, c'est que si Akismet est si efficace et que les spammeurs sont si forts pour analyser le contenu d'une page web; les spammeurs devraient quand même s'apercevoir que leurs spams ne passent pas! Certains sites affichent le compteur Akismet pour totaliser les spams arrêtés! Et pourtant, les spammeurs continuent... Après plusieurs hypothèses, il me semble que cela provient probablement d'une obligation stratégique: si ouvrir le parapluie Akismet suffit à arrêter le spam sur son site alors tous les sites vont adopter Akismet. Continuer à spammer les sites protégés par Akismet servirait simplement à retarder l'adoption d'Akismet. Vous vous protégez de la pluie mais il continue de pleuvoir et de plus en plus fort! La réalité semble pourtant montrer que Akismet est adopté massivement par les outils de blogs. Autrement, l'objectif du spam est peut-être simplement d'exposer au moins une fois les publicités qu'ils envoient. Or Akismet garde un mois de spam dans votre base de données, au cas où il se tromperait... La plupart des utilisateurs doivent alors jeter un coup d'oeil régulièrement et donc lire un peu des abominations contenues dans les spams. Les spammeurs atteindraient alors leurs objectifs et le seul résultat de Akismet serait de ne pas afficher les spams aux visiteurs sur le site. Ces visiteurs ont probablement aussi un blog et liront aussi leurs propres spams ? ====== Paranoïa ====== D'autres hypothèses plus sombres et tordues me sont venus à l'esprit... En prenant le spam comme une activité économique, qui doit rapporter plus que ce qu'elle coûte; spammer des sites inutilement est un manque à gagner pour les spammeurs. Si utiliser Akismet arrête le spam alors les sites vont l'utiliser juste le temps d'arrêter le spam et puis bye, bye... Akismet profite donc aussi de la continuité du spam. Est-ce qu'on partirait sur un scénario rocambolesque du type "les assureurs payent des voleurs de voiture car ils peuvent augmenter les primes d'assurances et ils gagnent toujours plus que ce qu'ils remboursent ?" L'autre côté troublant d'Akismet est qu'il construit le même type de réseau qu'un hackeur: le plugin Akismet sur votre site réagit sur une entrée de spam et envoie des requêtes vers les serveurs Akismet pour vérifier la nature du commentaire. En quelque sorte, votre site devient un site zombi qui réagit sur commande. En corrompant le système, on imagine vite un résultat comme: "vous recevez un spam, vous en envoyez 10"... Quelque soit la vérité, le comportement des spammeurs et d'Akismet est très irrationnel... et pourtant ce sont des ingénieurs doués et intelligents! A suivre...