Combattre le 'comment spam' sur JHLP, premier acte
Sam 08 janvier 2005
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 !