Petit remède anti-spam de commentaires pour Dotclear
Par NiKo le vendredi 23 décembre 2005, 11:33 - Dotclear - Lien permanent
Comme vous l'avez peut-être lu un peu partout, le SPAM de commentaires sur les blogs devient de plus en plus monnaie courrante [1], y compris sur Dotclear qui était jusque là relativement épargné.
Un plugin a été développé pour tenter d'enrayer ce phénomène : Spamplemousse. S'il est très efficace, il semble parfois faire un peu trop de zèle.
Il est également possible d'utiliser le principe des CAPTCHA afin de s'assurer que le commentateur est bien un être humain et non un bot à la solde du grand capital. Un plugin existe même déjà. Je n'ai pas personnellement essayé ce plugin, mais je n'aime pas trop l'idée d'avoir à saisir des choses inutiles pour valider quelque chose...
Pour ma part, j'ai découvert que le fait d'avoir mis en place la nécessité de prévisualisation des commentaires avant validation [2] enrayait le problème sur ce blog... alors que j'avais mis en place ce système pour m'assurer que les commentateurs vérifiaient bien la bonne mise en forme de leur commentaires au format WIKI avant validation [3].
Pour ceux que ça interesse, voici les opérations à effectuer pour mettre en place ce dispositif [4] :
Dans le fichier template.php de votre thème courant, remplacez le contenu existant entre les lignes :
<?php elseif ($preview) : /* Si on demande la previsualisation d'un commentaire */?>
et :
<?php elseif ($mode != 'post') : /* Si aucune erreur et mode != post on affiche une liste de billets */?>
par :
<div id="preview"> <h3>Commentaire pour <?php dcPostTitle(); ?></h3> <?php if (dc_wiki_comments) : ?> <p>Merci de prendre le temps de vérifier la bonne mise en forme de votre commentaire :</p> <?php endif; ?> <div id="comment-preview"> <blockquote><?php dcCommentPreview(); ?></blockquote> </div> <h3>Changer le commentaire</h3> <?php include dirname(__FILE__).'/form.php'; ?> </div>
Dans le fichier form.php de votre thème courant, après la ligne <p><input type="submit" class="preview" name="preview" value="Prévisualiser" /> :
<?php if (array_key_exists('preview', $_POST)) : ?> <input type="submit" class="submit" value="Envoyer" /> <?php endif; ?>
Il ne vous restera plus qu'à styliser l'affichage du bloc de prévisualisation au moyen de CSS 
Edit du 25/12 : Apparemment, les spams ne sont pas arrêtés par ce stratagème. Je réfléchis à une autre solution.
Notes
[1] Voir billet précédent
[2] Oui, je sais bien que ça en ennerve certains d'entre vous ![]()
[3] Echec total sur ce point là ![]()
[4] N'oubliez pas de faire une sauvegarde au préalable 



















Commentaires
1. Le vendredi 23 décembre 2005, 12:51 par BeLu
2. Le vendredi 23 décembre 2005, 14:17 par solo.fr@gmail.com
3. Le vendredi 23 décembre 2005, 14:24 par NiKo
4. Le vendredi 23 décembre 2005, 15:26 par Thanh
5. Le vendredi 23 décembre 2005, 15:38 par demental
6. Le vendredi 23 décembre 2005, 17:54 par Nicolas Hoizey
7. Le vendredi 23 décembre 2005, 17:55 par NiKo
8. Le vendredi 23 décembre 2005, 19:00 par Oni
9. Le vendredi 23 décembre 2005, 19:10 par AeN0
10. Le samedi 24 décembre 2005, 11:35 par Daoro
11. Le samedi 24 décembre 2005, 13:10 par Nota Bene
12. Le samedi 24 décembre 2005, 20:59 par AeN0
13. Le dimanche 25 décembre 2005, 18:49 par Yazerty
14. Le dimanche 25 décembre 2005, 20:45 par Diablo
15. Le mardi 27 décembre 2005, 15:56 par zehunter
16. Le mardi 27 décembre 2005, 16:04 par NiKo
17. Le jeudi 29 décembre 2005, 17:49 par M.La G.
18. Le samedi 31 décembre 2005, 09:43 par nicolas
19. Le samedi 31 décembre 2005, 09:59 par NiKo
20. Le samedi 31 décembre 2005, 12:06 par Nicolas
21. Le dimanche 19 février 2006, 21:59 par Toto du web
22. Le dimanche 19 février 2006, 22:04 par NiKo
23. Le jeudi 23 février 2006, 22:09 par zarer
24. Le vendredi 24 février 2006, 10:04 par wildmary
25. Le vendredi 24 février 2006, 10:35 par Osku
26. Le vendredi 24 février 2006, 14:44 par NiKo
27. Le vendredi 24 février 2006, 16:27 par wildmary
28. Le vendredi 24 février 2006, 16:39 par geoffrey
29. Le lundi 27 février 2006, 15:26 par Emilie
30. Le lundi 27 février 2006, 15:38 par NiKo
31. Le lundi 27 février 2006, 16:04 par chris
32. Le lundi 27 février 2006, 16:06 par NiKo