vendredi 2 juin 2006
URLs de trackbacks jetables contre le spam : vraie fausse bonne idée ?
Le spam est un fléau. Ce n'est pas nouveau.
Après avoir envahi nos boîtes aux lettres, voilà qu'il a débarqué dans les commentaires de nos blogs. Bizarrement, ses premières traces passaient par les formulaires de commentaires, mais le tir a désormais été corrigé : c'est tellement plus rapide par les trackbacks !
Comme pour les clients et serveurs de mail, les solutions de blogs se sont lancées à leur tour dans la course à l'armement en multipliant les mesures antispam. Comme pour le spam par email, la parade est rarement évidente, mais toujours éphémère. C'est dans cette logique que, ces derniers temps, on a vu apparaitre une solution
contre le spam via trackback : les URLs de trackbacks jetables.
Sur le papier l'idée semble bonne : un paramètre optionnel est ajouté à une URL de trackback standard et sa valeur admise est générée pour une durée de vie donnée. Passé ce délai, l'URL n'est plus valide [1]. Ca sonne plutôt bien, non ? En fait, non, pas tant que ça...
Bien souvent, ce type de solutions est élaboré sans prendre en compte un aspect essentiel de la spécification technique des trackbacks : la découverte automatique des URLs de trackbacks par les applications émettrices. Si bien que toutes ces solutions, au moins dans un premier temps, amputent le support des trackbacks, rendant nécessaire pour quiconque voudrait faire un trackback sur l'un de vos billets :
- de repasser sur votre site,
- de rafraichir la page,
- de copier l'adresse de trackback du moment,
- de retourner dans son interface d'édition et copier la dite adresse,
- de rapidement déclencher le trackback[2]
Dès lors que ces remarques ont été émises, le réflexe, logique et normal, est de rendre la découverte automatique de nouveau possible en extrapolant sur le comportement des spambots. Laurent Simon, l'auteur de Spamtimeout pour DotClear, illustre bien le propos :
Edit: Il semble que la fonction de découverte automatique des URLs de trackback soit fortement appréciée (quand elle fonctionne...). Je viens donc d'ajouter son support dans la version 0.6 et vous invite à la tester. Ca expose un peu plus mais au vu de la façon dont fonctionnent les spammeurs, ça devrait continuer à arrêter l'essentiel des flux (je croise les doigts).
Seulement, voilà, il se trompe : le simple fait de remettre la découverte automatique en action rend la contre-mesure caduque. Si ce n'est pas dans l'immédiat, c'est tout de même sous très peu de temps. Il suffit de regarder le code de découverte automatique dans DotClear, par exemple, pour ce rendre compte de la simplicité et de la concision de la chose. Imaginez ensuite ce que peut donner ce code, sans enrobage, en Perl avec LWP et les lots de librairies existantes [3]. Beau tableau, non ? ...
Peut-on réellement imaginer qu'un spammeur ne prendra pas les 5 minutes nécessaires à coder l'adaptation de son bot, adaptation qui permettra à ce dernier de repartir de plus belle polluer des centaines ou milliers de blogs ?
On arrive alors à une triste conclusion : soit on fait voler en éclats la découverte automatique (avec le risque de décourager les autres auteurs de faire un trackback chez soi), soit on pisse (à plus ou moins long terme) dans un violon
tout en ayant du code supplémentaire potentiellement inutile.
Notes
[1] Pour plus de détails sur cette mise en oeuvre dans DotClear, vous pouvez consulter le billet de présentation du plugin Spamtimeout, fournissant ce type de contre-mesure.
[2] Ne rigolez pas, il est possible de se rendre compte qu'on n'a plus de café ou de cigarettes et de partir faire le plein en laissant le ping en plan ... ;-)
[3] Toujours à titre d'exemple, hein, parce que c'est peut-être encore plus rapide à faire en Python...


Commentaires
1. Par Jérôme, le 03/06/2006 à 01:10
2. Par Pep, le 03/06/2006 à 01:13
3. Par xave, le 03/06/2006 à 22:55
4. Par Laurent Simon, le 04/06/2006 à 13:12
5. Par Pep, le 04/06/2006 à 16:00
6. Par David Latapie, le 07/06/2006 à 01:49
7. Par Pep, le 07/06/2006 à 18:01
8. Par Jérôme, le 10/06/2006 à 21:22
9. Par Eskimobleu, le 03/12/2006 à 15:49
10. Par Eskimobleu, le 03/12/2006 à 15:50