Captain Clear
Description
Captain Clear est un plugin pour DotClear 2, un captcha anti-spam accessible et multi-réponse pour les commentaires.
D'autres
solutions anti-spam
efficaces existent pour DotClear, vous n'avez donc
pas forcément besoin de ce captcha.
Je me suis codé celui-ci car visiblement free.fr, qui
héberge ces pages, semble ne pas apprécier la
présence de spam, même bloqué dans
les tables temporaires des autres solutions
(Antispam
et Akismet).
Je souhaitais que ce plugin soit accessible, donc exit les solutions
basées sur la reconnaissance d'image, et qu'il puisse
être bilingue, donc qu'il puisse accepter plusieurs
réponses.
Captain Clear ne filtre que les commentaires du blog. Pour se protéger du spam sur les rétroliens (trackbacks), regarder le plugin Rétrocontrôle.
Télécharger
version 1.0 pour DotClear 2
télécharger captainClear-1.0.zip
date : 2008-09-11
version 2 beta 1
attention cette version est une version beta,
c'est à dire une version en test !
Voir
ce billet sur le blog pour les
nouveautés, et le fichier howto.txt de l'archive.
télécharger captainClear-2.0-beta1.zip
date : 2008-10-07Licence : GPL 2.0
Installation
- Copier le dossier "captainClear" décompressé dans le dossier "plugins" de DotClear.
-
Modifier le fichier "_public.php" de captainClear, car
celui-ci ne contient volontairement que 3 questions anti-spam, afin
que chacun crée ses propres questions. Il faut donc ajouter
des valeurs à la variable $questions de la classe
captainClear. Ces valeurs sont de simples tableaux de la forme :
array('texte de la question', array('solution 1', 'solution 2', 'solution 3'))
Vous pouvez mettre le nombre de réponses que vous souhaitez à une question. -
Pour que le captcha apparaisse sur votre blog, vous devez modifier
le fichier "post.html" de votre thème, en utilisant la balise
de template
<tpl:captainClearFills></tpl:captainClearFills>
. Personnellement, j'ai supprimé le bouton submit qui apparait sous la prévisualisation du commentaire dans le thème par défaut, jugeant qu'il devenait peu compréhensible avec l'apparition du captcha plus bas.
Voici en exemple les changements fait sur mon thème par rapport au thème par défaut de Dotclear :
suppression du bouton submit sus-cité, remplacer :<tpl:IfCommentPreview> <div id="pr"> <h3>{{tpl:lang Your comment}}</h3> <dl> <dd class="comment-preview">{{tpl:CommentPreviewContent}}</dd> </dl> <p><input type="submit" class="submit" value="{{tpl:lang send}}" /></p> </div> </tpl:IfCommentPreview>
par :<tpl:IfCommentPreview> <div id="pr"> <h3>{{tpl:lang Your comment}}</h3> <dl> <dd class="comment-preview">{{tpl:CommentPreviewContent}}</dd> </dl> <!--<p><input type="submit" class="submit" value="{{tpl:lang send}}" /></p>--> </div> </tpl:IfCommentPreview>
ajout du captcha à la prévisualisation du commentaire, remplacer :<fieldset> <p><input type="submit" class="preview" name="preview" value="{{tpl:lang preview}}" /> <tpl:IfCommentPreview><input type="submit" class="submit" value="{{tpl:lang send}}" /></tpl:IfCommentPreview></p> </fieldset>
par :<fieldset> <tpl:IfCommentPreview> <tpl:captainClearFills></tpl:captainClearFills> </tpl:IfCommentPreview> <p><input type="submit" class="preview" name="preview" value="{{tpl:lang preview}}" /> <tpl:IfCommentPreview><input type="submit" class="submit" value="{{tpl:lang send}}" /></tpl:IfCommentPreview></p> </fieldset>
-
Le captcha génére le HTML le suivant :
<p class="field captainClear"> <label for="captainClear_data"> <strong>sécurité : question anti-spam / security : anti-spam question</strong> <br> intitulé de la question: </label> <input name="captainClear_data" id="captainClear_data" type="text"> <input name="captainClear_cdata[]" value="crypted_data" type="hidden"> </p>
vous pouvez donc styler cette partie dans la CSS de votre thème.
Ces informations sont également disponible dans le fichier "howto.txt" de l'archive.