Installer Cryptographp avec Plume CMS

Ce qui vous énerve, les sujets qui vous passent par la tête, etc...

Modérateur : Développeurs

Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
Messages : 1143
Inscription : 26 août 2006, 13:10
Localisation : Nantes
Contact :

Installer Cryptographp avec Plume CMS

Message par Jérôme » 01 mai 2010, 15:24

Cryptographp est un script PHP générateur de cryptogrammes appelés "captchas". Crypographp bloque les robots qui pourrissent le net en bombardant vos sites de spam. Voici la procédure pour que vos utilisateurs aient besoin de saisir le cryptogramme avant de poster des commentaires sur votre site Plume CMS.

Je ne suis malheureusement pas un expert en php, il est donc tout à fait possible qu'il y ait une meilleur méthode pour parvenir au même résultat, voir même pour faire mieux. N'hésitez pas à partager vos informations ou remarques le cas échéant. Cela dit, ce système a fonctionné à merveille sur le site http://www.pyromaths.org pendant deux ans.

Télécharger Cryptograph
Ce site faisait tourner la version 1.4 de Cryptographp. Vous trouverez cette version sur le site des auteurs.
Il vous faudra extraire le contenu de cette archive dans le dossier manager/tools de votre installation de plume. Vous obtenez ainsi un dossier script dans le dossier tools.

Modification du fichier manager/tools/crypt/cryptographp.fct.php
Remplacer la ligne

Code : Tout sélectionner

$_SESSION['cryptdir']= dirname($cryptinstall); 
par

Code : Tout sélectionner

$_SESSION['cryptdir']= "/manager/tools/crypt/"; 
Modifications du fichier manager/inc/class.comment.php
  • Vers la ligne 29, après

    Code : Tout sélectionner

    define('PX_RESOURCE_STATUS_JUNK', 6); 
    insérer ces deux lignes :

    Code : Tout sélectionner

    $cryptinstall=dirname(__FILE__)."/../tools/crypt/cryptographp.fct.php";
    include_once $cryptinstall; 
  • Vers la ligne 95, modifier la ligne

    Code : Tout sélectionner

    function set($author, $email, $website, $content, $resource_id, $ip, 
    en :

    Code : Tout sélectionner

    function set($author, $email, $website, $content, $captcha, $resource_id, $ip, 
  • Vers la ligne 110, ajouter :

    Code : Tout sélectionner

    $this->setField('comment_captcha', $captcha); 
    après

    Code : Tout sélectionner

    $this->setField('comment_email', $email);
    $this->setField('comment_website', $website);
    $this->setField('comment_content', $content); 
  • Vers la ligne 130, ajouter :

    Code : Tout sélectionner

    if (! chk_crypt($this->f('comment_captcha'))) {
    $this->setError(__('le code saisi est incorrect.'), 400); 
    } 
    après

    Code : Tout sélectionner

    function check()
    { 
  • Vers la ligne 225, ajouter :

    Code : Tout sélectionner

    $captcha = form::getPostField('c_captcha'); 
    après :

    Code : Tout sélectionner

    $author = form::getPostField('c_author');
    $email = form::getPostField('c_email');
    $website = form::getPostField('c_website'); 
Modifications du fichier manager/templates/default/comments_inline.php
  • En tout début de fichier, insérer les lignes :

    Code : Tout sélectionner

    <?php %%%$cryptinstall=$_SERVER["DOCUMENT_ROOT"]."/manager/tools/crypt/cryptographp.fct.php";
    %include_once $cryptinstall;
    ?>
  • Vers la ligne 70, juste avant :

    Code : Tout sélectionner

    <div class="news-infos_foot"></div> 
    insérer les lignes :

    Code : Tout sélectionner

    <table><tr>
    <td><h3 class="comment-captcha">Recopier le code : </h3></td>
    <td><?php dsp_crypt(0,1); ?></td>
    <td><input type="text" id="c_captcha" name="c_captcha"></td>
    </tr></table>
Modifications du fichier manager/templates/default/comments_post.php
Vers la ligne 74, juste avant :

Code : Tout sélectionner

<div class="news-infos_foot"></div>
insérer les lignes :

Code : Tout sélectionner

<table><tr>
<td><h3 class="comment-captcha">Recopier le code : </h3></td>
<td><?php dsp_crypt(0,1); ?></td>
<td><input type="text" id="c_captcha" name="c_captcha"></td>
</tr></table>
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL

Répondre