anti spam commentaires et trackbacks pour Dotclear blog

[Edit du 25 janvier] Bon, après un déferlement de spams (plusieurs centaines par jour), je viens de mettre en place un Captcha pour les commentaires (que j'avais d'ailleurs dû fermer, et que j'ouvre donc de nouveau ;-). J'utilise celui de AtelierPhp5, qui semble marcher à merveille ! [/edit]



J'ai d'abord utilisé le "quick hack" (pour patcher certains fichiers de Dotclear) de Fgranger, TrackBackSpamPhp, qui fonctionne comme un filtre utilisant une "blackliste". Quand les commentaires et trackbacks sont reçus, avant d'être publiés ou non, ils passent à travers ce filtre, et si des mots-clés et/ou noms de domaines sont reconnus, les commentaires et trackbacks ne sont pas publiés. Il suffit alors d'utiliser le plugin MComments pour Dotclear, qui permet de sélectionner de multiples commentaires/trackbacks à l'aide de cases à cocher (checkbox) pour les supprimer ou modifier leurs status (en ligne/hors ligne).

En ce qui concerne la blackliste, je suis parti de la base donnée par Fgranger, que l'on peut trouver ici. Je l'ai ensuite largement complétée, à partir de plusieurs éléments. Ceux qui veulent l'essayer peuvent la télécharger ici (à renommer en blacklisturl.php). Voici quels ont été les ajouts :

- plusieurs extensions de noms de domaines génériques, souvent utilisés par les spammeurs (.ru, .cm, .lv etc...)
- url et mots-clés utilisés par des spammeurs en 2005 sur ce blog
- mots-clés du plugin Spamplemousse
- mots-clés du plugin Bad words, originellement pour Spampal
- mots-clés du plugin BlockReferer pour Dotclear

J'ai aussi effacé certains mots-clés des listes quand il y avait des doublons. Notez que cette Blackliste est un peu sévère, qu'il y a parfois quelques "faux-positifs" (de bons commentaires qui sont malgré tout non publiés), et qu'il est peut-être encore nécessaire d'y faire quelques ajustements. Au pire, il suffit d'aller à la page d'administration de Dotclear pour mettre en ligne le commentaire ou trackback qui n'est pas passé.