Installer Cryptographp avec Plume CMS
Le 03-02-2008 à 15:26 par Jérôme Ortais. Dans Informations diverses.
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.
Les étapes à suivre
Télécharger Cryptograph
Ce site fait 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
$_SESSION['cryptdir']= dirname($cryptinstall);
par$_SESSION['cryptdir']= "/manager/tools/crypt/";
Modifications du fichier manager/inc/class.comment.php
- Vers la ligne 29, après
define('PX_RESOURCE_STATUS_JUNK', 6);
insérer ces deux lignes :
$cryptinstall=dirname(FILE)."/../tools/crypt/cryptographp.fct.php";
include_once $cryptinstall; - Vers la ligne 95, modifier la ligne
function set($author, $email, $website, $content, $resource_id, $ip,
en :
function set($author, $email, $website, $content, $captcha, $resource_id, $ip, - Vers la ligne 110, ajouter :
$this->setField('comment_captcha', $captcha);
après$this->setField('comment_email', $email);
$this->setField('comment_website', $website);
$this->setField('comment_content', $content); - Vers la ligne 130, ajouter :
if (! chk_crypt($this->f('comment_captcha'))) {après
$this->setError(__('le code saisi est incorrect.'), 400);
}function check()
{ - Vers la ligne 225, ajouter :
$captcha = form::getPostField('c_captcha');
après :$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 :
+ <?php
$cryptinstall=$_SERVER["DOCUMENT_ROOT"]."/manager/tools/crypt/cryptographp.fct.php";
include_once $cryptinstall;
?> - Vers la ligne 70, juste avant :
<div class="news-infos_foot"></div>
insérer les lignes :<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 :
<div class="news-infos_foot"></div>
insérer les lignes :<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>
Écrivez votre message
Une adresse e-mail est nécessaire mais ne sera pas divulguée