Parce que le printemps est haïssable...

Combattre le 'comment spam' sur JHLP, premier acte

Comme indiqué précédemment, j'ai été victime de mon premier comment spam dernièrement.
Voici ce que j'ai mis en oeuvre.

Note : tout ceci est en bêta-test, risque d'y avoir des bugs...

C'est quoi le comment spam, d'abord ?

Le comment spam est une technique destinée à pourrir les commentaires d'un blog d'une suite d'adresses de sites à caractère commerciaux, des casinos, des sites pornos, etc.
L'objectif est de faire grimper ce qu'on appelle le Page Rank. En effet, dans le moteur de recherche Google, plus un site est pointé par d'autres, plus il est considéré comme "populaire". Et plus il est populaire, plus il monte dans le classement des résultats de google pour une recherche donnée.
Généralement, les spammeurs utilisent des routines automatiques pour lier leurs sites dans les commentaires des blogs. Personne n'aime s'emmerder à taper une longue suite d'urls dans des centaines ou des milliers de blogs pour voir monter sa popularité.

Première mesure : la déHTMLisation

En fait, cette mesure existe depuis que les commentaires ont été ouverts sur JHLP. C'est l'anihilation de toute balise HTML postée sur les commentaires. No Pasaran. Les liens étant généralement postés en HTML, ils passent à la trappe et rendre le spam ineffectif. En effet, si les liens ne sont pas actifs, le robot de Google les ignore et ne rajoute pas +1 à la popularité du site.
Donc, déjà, le spam dont j'ai été victime revient à un joli coup d'épée dans l'eau.

Deuxième mesure : les liens ne te rendent pas populaires

C'est Simon Willison qui avait préconisé en premier ce hack. Puisqu'un lien direct vers le site fait monter sa popularité, il suffit de le transformer en lien indirect.

Je m'explique... Imaginons que je spamme-commente Trop2Bonheur avec mon site jaimelesframboises.com. Je poste un lien direct sur les commentaires. Observons ce que voit le robot de Google :
trop2bonheur.net ===> jaimelesframboises.com
Conséquence : Puisque tropZbonheur pointe vers jaimelesframboises, la popularité de jaimelesframboises augmente.

Solution de Simon Willison
Transformer le lien en une redirection sur un script qui redirige de nouveau sur le site jaimelesframboises :
trop2bonheur.net ===> [script sur trop2bonheur] ===> jaimelesframboises.com
Conséquence : trop2bonheur pointe sur trop2bonheur, ce qui ne fait pas particulièrement monter sa popularité.

Google est ton ami
Quelques semaines après avoir lancé cette idée, Google propose une URL qui effectue une redirection automatique vers n'importe quelle adresse. Donc :
trop2bonheur.net ===> [script sur google.com] ===> jaimelesframboises.com
Conséquence : La popularité de Google augmente dans le moteur de recherche Google, ce qui est complètement inutile pour le vilain spammeur.

Sur JHLP, cette redirection est active sur les commentaires (dans le champ url, et le champ texte).

Troisième mesure : La liste noire

Ca, c'était pour la partie "j'ai réussi à spammer tes commentaires, connard".
Maintenant, ça me gave profondément d'avoir à virer à la paluche les commentaires bidons balancés par ces sinistres idiots. Alors, à la manière d'un firewall, j'ai mis en place une sorte de filtre. Si quelqu'un essaie de mettre un message contenant un lien vers un des domaines contenus dans mon fichier de blacklist, il passera à la trappe.
J'ai récupéré quelques centaines de domaines listés par Simon Willison, j'espère qu'ils suffiront. De toute façon, si un spammeur parvient à passer au travers de mon filtre, ça sera très facile pour moi de récupérer les urls pointées et de les rajouter à la fin de ce fichier texte.
Fastidieux, certes, mais facile.

Note : J'ai pas pu utiliser directement le fichier blacklist en entier, mon script PHP m'a craché une erreur du style "regexp too long".
Faudra peut-être que je réfléchisse à une idée plus puissante et plus performante pour blacklister les milliers de domaines enregistrés par les comment spammers sans faire tomber mon script.
Dommage. Mais ceux que j'ai déjà, c'est sûr ils passeront pas.

Et maintenant, je t'attends enculé de ta race !

8 Jan. 2005 - 17:47, par Mido

C'est quoi une tarasse ? :-P Bon, ok je sors... J'espère que ça fonctionnera... pasque les commentaires passent dans le feedRSS quivabien, et c'est casse-pied ;-)

8 Jan. 2005 - 18:39, par steph

Ouf, le coin du feu n'a pas été blacklisté :o)
Les comment spam, c'est la rançon de la gloire.
En même temps, c'est le 1er et le seul jusqu'à présent, était-ce bien nécessaire de sortir l'artillerie lourde dès maintenant ?
Ah ? il te reste des têtes nucléaires en réserve ?

8 Jan. 2005 - 19:00, par kNo'

Non, steph, hélas c'était pas le seul. Entre hier et aujourd'hui, j'ai reçu environ quatre posts sur des vieux articles (plus d'un mois ou deux, sûrement repérés via google).
Mido, tu confirmes ?

8 Jan. 2005 - 20:25, par Marc Z

mon script PHP m'a craché une erreur du style "regexp too long"
Tu n'as plus de tables SQL dispo ?

8 Jan. 2005 - 20:51, par K-Lain

P'tain, si j'en crois Steph, chuis célèbre aussi, puisque "comment spammé" hier !
youpi.

Réflexion d'inculte : ça me semble galère de blacklister tous les sites indésirables vu qu'il y en a des millions. N'est-il pas possible d'interdire l'entrée de tout texte comportant http://, www., htm, php, etc. ? Enfin tout ce qui ressemble de près ou de loin à un constituant d'adresse de site…

8 Jan. 2005 - 20:57, par kNo'

@MarcZ : ouais, je sais, mettre en table, ça résoudrait une partie de la prise de ressources. Mais j'avais pas envie de coder un gestionnaire de plus. KISS = Keep It Simple Stupid.

@K-lain : c'est pas que ce serait impossible, ce serait même d'une grande simplicité ; mais je trouve dommage que les commentateurs ne puissent pas indiquer un lien intéressant en relation avec le billet du blog.

9 Jan. 2005 - 09:59, par K-Lain

Ah voui, j'avions point pensé à ça…

20 Aôut 2005 - 20:18, par MaitreFolas

Tnt pis pour mon PageRanking en laissant mon adressse ici :o(
Par contre moi qui code mon petit blog je te "pique" tes idées :o)))

Merci

18 Avril 2007 - 19:06, par dylan

je veux avoir plein d'adresse msn la mienne ses [censuré]

18 Avril 2007 - 19:08, par kNo'

qu'il est beau le boulet !

17 Sept. 2007 - 11:09, par Bonhome

comment rattraper une confiture trop liquide ?

17 Sept. 2007 - 14:18, par No'

Bonhome : ce n'est pas le sujet de ce billet, ni de ce blog, et je suis loin d'être un spécialiste, mais il me semble qu'en la faisant recuire un petit peu, on peut la rattraper.
Ou alors, il faut courir plus vite qu'elle.


Toutes les balises HTML seront supprimées.
Tu peux ajouter des liens comme suit :
J'ajoute [a http://exemple.com "un joli lien"]
Tu peux aussi mettre *en gras* ou {en italique}.