Advanced search  

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Pages: [1] 2 3 4 5 ... 10   Go Down

Author Topic: [PLUGIN] CAPTCHA (anti-spam sur commentaires)  (Read 120457 times)

0 Members and 1 Guest are viewing this topic.

Pascal YAP

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 13833
  • Hello World :-)
    • CPG 1.5.x ExperiMental website
[PLUGIN] CAPTCHA (anti-spam sur commentaires)
« on: August 26, 2006, 01:13:01 am »

CAPTCHA
[MOD / HACK] by Abbas Ali

NOUVEAU : CAPTCHA Plugin ! Plus nécessaire de modifier le code ;D
voir ici le sujet en anglais
Ou par ici


Ci-dessous, le code initial (non plugin)

Beaucoup de Spamming de commentaire ont été signalé sur les galeries Coppermine.
Abbas Ali a pensé utiliser Captcha pour filtrer les "commentaires" déposés par des robots.

Que fait cette modification de Coppermine ?
  • Une image-texte s'affiche à coté du formulaire de commentaire. Il y a une nouvelle case à renseigner obligatoirement. "Confirmation"
  • L'utilisateur sera invité à écrire exactement le texte suivant les indications de l'image affichée.
  • Si le texte écrit par l'utilisateur n'est pas identique à l'image-texte, alors le commentaire ne sera pas ajouté. Ce qui bloque de fait les robots !  ;D

Fichiers à modifier :
  • db_input.php
  • themes/votretheme/theme.php
  • lang/french.php (et tous les fichiers languages que votre galerie propose ! traduction nécessaire dans ces langues !)

Nouveaux fichiers :
  • captcha.php (racine de Coppermine. Là où se situe INDEX.PHP)
  • captcha.class.php (dossier votre_cpg/include/)
  • fonts

     NECESSITE FREETYPE sur votre serveur. (voir ci-dessous l'exemple d'un phpinfo.php)
(http://forum.coppermine-gallery.net/index.php?action=dlattach;topic=29564.0;attach=4975;image)

1/ TELECHARGEZ CAPTCHA.
Placez le fichier PHP captcha.php à la racine du site.
Placez captcha.class.php dans le dossier "include" de Coppermine.
Placez les polices de caractères TTF dans le dossiers /fonts que vous devez créer.
 (TIPS : vous pouvez utilisez n'importe quelles fontes TrueType)

2/ Ouvrez french.php (et tous les fichiers /lang que votre galerie propose)

cherchez
Code: [Select]
'non_exist_comment' => 'Le commentaire sélectionné n\'existe pas.',puis après la ligne ci-dessus ajoutez celle-ci :
Code: [Select]
'captcha_error' => 'Le code de confirmation ne correspond pas. The confirmation code didn\'t matched',
recherchez
Code: [Select]
'report_comment_title' => 'Envoyer ce commentaire à l\'administrateur', //cpg1.4et après la ligne ci-dessus ajoutez celle-ci :
Code: [Select]
'confirm' => 'Confirmation',
-----------------------------------

3/ Ouvrez le fichier votre_cpg/themes/theme.php

cherchez :
Code: [Select]
'{COMMENT}' => $lang_display_comments['comment'],puis après cette ligne ajoutez la suivante :
Code: [Select]
'{CONFIRM}' => $lang_display_comments['confirm'],
cherchez :
Code: [Select]
<!-- END input_box_no_smilies -->
                                </td>
                                <td class="tableb_compact">
                                <input type="hidden" name="event" value="comment" />
                                <input type="hidden" name="pid" value="{PIC_ID}" />
                                <input type="submit" class="comment_button" name="submit" value="{OK}" />
                                </td></tr>
après le code ci-dessus, ajoutez :
Code: [Select]
<tr>
  <td class="tableb_compact" colspan="2">
    {CONFIRM}
  </td>
  <td class="tableb_compact" colspan="2">
    <input type="text" name="confirmCode" size="5" class="textinput"> <img src="captcha.php" align="middle">
  </td>
</tr>

-----------------------------------

4/ Ouvrez db_input.php

cherchez :
Code: [Select]
    case 'comment':
        if (!(USER_CAN_POST_COMMENTS)) cpg_die(ERROR, $lang_errors['perm_denied'], __FILE__, __LINE__);
ajoutez :
Code: [Select]
        require("include/captcha.class.php");
        if (!PhpCaptcha::Validate($_POST['confirmCode'])) {
          cpg_die(ERROR, "Confirmation code didn't matched", __FILE__, __LINE__);
        }

PYAP
Sujet en anglais
« Last Edit: March 05, 2009, 05:43:12 pm by Pascal YAP »
Logged

Davide Renda

  • Dev Team member
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1427
  • aka "Lontano"
    • www.daviderenda.eu
Re: [MOD/HACK] CAPTCHA [anti-spam sur commentaires]
« Reply #1 on: August 26, 2006, 04:54:51 pm »

il y a un truc que je ne pige pas; j'ai lu dans le forum en "English" et je ne pige non plus.
Dans mon thème (Connections, modifié pour marcher avec le modpack de Stramm), il n'y a pas la partie
Code: [Select]
'{COMMENT}' => $lang_display_comments['comment'],, ni la suivante.
Quelles modifications doit je faire donc? ???

piki

  • Coppermine newbie
  • Offline Offline
  • Posts: 1
Re: [MOD/HACK] CAPTCHA [anti-spam sur commentaires]
« Reply #2 on: August 26, 2006, 07:00:23 pm »

Bonjour,

Pareil pour moi, je ne trouve pas ces lignes dans mon theme (eyeball). J'ai essayé de suivre le fil en anglais où certains évoquaient le même pb, j'ai l'impression qu'il faut aller copier des lignes dans le theme sample, les coller (mais je ne sais pas où), et les modifier.
Logged

gt4mike

  • Coppermine newbie
  • Offline Offline
  • Posts: 13
    • wallpaper
Re: [MOD/HACK] CAPTCHA [anti-spam sur commentaires]
« Reply #3 on: August 26, 2006, 07:06:10 pm »

Bonjour,

Ce mod m'interesse car j'ai 12 galeries de mes membres qui tournent dont 4 qui viennent de se faire spammer par des messages à caracteres pornographiques et tres hard (zoophilie).

Par contre j'ai un souci : j'utilise le theme "classic" dont ci joint le code :
Code: [Select]
<?php
/*************************
  Coppermine Photo Gallery
  ************************
  Copyright (c) 2003-2006 Coppermine Dev Team
  v1.1 originally written by Gregory DEMAR

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.
  ********************************************
  Coppermine version: 1.4.8
  $Source$
  $Revision: 3116 $
  $Author: gaugau $
  $Date: 2006-06-08 00:11:54 +0200 (Do, 08 Jun 2006) $
**********************************************/

// ------------------------------------------------------------------------- //
// This theme has all CORE items removed                                     //
// ------------------------------------------------------------------------- //
define('THEME_IS_XHTML10_TRANSITIONAL',1);

?>

Je ne peux donc trouver votre code.

Par contre j'ai trouve
Code: [Select]
'{COMMENT}' => $lang_display_comments['comment'],
dans :
include/theme.inc.php
et
sample/theme.php

Et celui la :
Code: [Select]
<!-- END input_box_no_smilies -->
                                </td>
                                <td class="tableb_compact">
                                <input type="hidden" name="event" value="comment" />
                                <input type="hidden" name="pid" value="{PIC_ID}" />
                                <input type="submit" class="comment_button" name="submit" value="{OK}" />
                                </td></tr>

dans
sample/theme.php

Mais bonne nouvelle j'ai trouve votre code dans french.php et db_input.php

Je suis un peu perdu, peut etre pourriez vous m'aider ? et m'expliquer quels fichiers je dois modifier ?

Par avance merci
Logged

Pascal YAP

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 13833
  • Hello World :-)
    • CPG 1.5.x ExperiMental website
Re: [MOD/HACK] CAPTCHA [anti-spam sur commentaires]
« Reply #4 on: August 27, 2006, 04:25:00 pm »

Bonjour,

Pour commencer, j'utilise des Thèmes Persos, mais pas les Thèmes officiels de Coppermine.
Et je n'ai pas constaté le Thème Classic avec ce MOD.

Si vous faites une sauvegarde de vos fichiers d'origine, vous allez probablement nous dire bientot si l'on peut intégrer le code dans THEME.INC.PHP  ;)
Merci pour vos essais  ;D

PYAP
Logged

mouly

  • Coppermine newbie
  • Offline Offline
  • Posts: 1
Re: [MOD/HACK] CAPTCHA [anti-spam sur commentaires]
« Reply #5 on: August 27, 2006, 11:24:42 pm »

effectivement cela fonctionne en modifiant le fichier : theme.inc.php

a voir sur http://asso.amtm.free.fr/photos/
où nous avions enormement de spams mais nous voulions quand meme laisser les commentaires ouvert aux surfeurs.

pour info : nous avons du changer un peu le code, il y avait, apparemment, dans les fichiers, des espaces qui empechaient l'image de s'afficher (croix rouge à la place),
Si vous rencontrez le même problème, faites le moi savoir, je vous indiquerai la marche a suivre.
mouly2 at yahoo point com
Logged

Pascal YAP

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 13833
  • Hello World :-)
    • CPG 1.5.x ExperiMental website
Re: [MOD/HACK] CAPTCHA [anti-spam sur commentaires]
« Reply #6 on: August 28, 2006, 12:11:26 am »

Bonjour Mouly,

Quote
nous avons du changer un peu le code, il y avait, apparemment, dans les fichiers, des espaces qui empechaient l'image de s'afficher (croix rouge à la place)
Merci pour le retour d'info  ;)
Pouvez-vous placer le code modifié ici-même ? Merci.

PYAP

(sympathique action, d'après votre Galerie  ;D ;) Bravo )
Logged

kromega

  • Coppermine novice
  • *
  • Offline Offline
  • Gender: Male
  • Posts: 47
    • my gallery
Re: [MOD/HACK] CAPTCHA [anti-spam sur commentaires]
« Reply #7 on: August 30, 2006, 11:18:35 pm »

pour info : nous avons du changer un peu le code, il y avait, apparemment, dans les fichiers, des espaces qui empechaient l'image de s'afficher (croix rouge à la place),
volontiers, j'ai le même pb, seulement sur Explorer, pas de pb avec Firefox... bizzare...
Logged
fabski - novice

François Keller

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 9094
  • aka Frantz
    • Ma galerie
Re: [MOD/HACK] CAPTCHA [anti-spam sur commentaires]
« Reply #8 on: August 31, 2006, 07:02:39 am »

Bonjour,

Quote
effectivement cela fonctionne en modifiant le fichier : theme.inc.php
Il est préférable de modifier le fichier theme.php du theme utilisé plutot que theme.inc.php
Cela permets une mise à jour plus simple, puisqu'on ne touche pas au code principal
Logged
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

kromega

  • Coppermine novice
  • *
  • Offline Offline
  • Gender: Male
  • Posts: 47
    • my gallery
Re: [MOD/HACK] CAPTCHA [anti-spam sur commentaires]
« Reply #9 on: August 31, 2006, 10:25:21 pm »

hello,
j'ai toujours des problèmes avec ma traduction français.
sans modif à french.php, pas de soucis, la version anglaise s'affiche si le text n'existe pas.
http://www.fabski.com/images/displayimage.php?album=lastcom&cat=0&pos=3&lang=french

avec la version modifée attachée (french2 dans le menu pull-down), l'image n'est plus affichée... et pourtant, je n'ai fait qu'ajouter les lignes confirm et confirm2 qui marchent dans le fichier anglais !!!

qq'un a une idée ?

fabien
Logged
fabski - novice

Pascal YAP

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 13833
  • Hello World :-)
    • CPG 1.5.x ExperiMental website
Re: [MOD/HACK] CAPTCHA [anti-spam sur commentaires]
« Reply #10 on: August 31, 2006, 11:11:53 pm »

Kromega,

Quote
avec la version modifée attachée (french2 dans le menu pull-down), l'image n'est plus affichée... et pourtant, je n'ai fait qu'ajouter les lignes confirm et confirm2 qui marchent dans le fichier anglais !!!
qq'un a une idée ?
Dingue !
Vérifiez bien qu'en fin de chaque ligne il n'y ait d'espace !
Je ne vois pas quelle est la différence entre le fichier joint et ce qui est conseillé !

PYAP
« Last Edit: September 01, 2006, 12:28:17 am by PYAP »
Logged

kromega

  • Coppermine novice
  • *
  • Offline Offline
  • Gender: Male
  • Posts: 47
    • my gallery
Re: [MOD/HACK] CAPTCHA [anti-spam sur commentaires]
« Reply #11 on: August 31, 2006, 11:26:39 pm »

et pourtant dans le code source de la page généré, on a
<tr>
  <td class="tableb_compact">
    Confirmation
  </td>
  <td class="tableb_compact" colspan=2>
    <input type="text" name="confirmCode" size="5" class="textinput"> <img src="captcha.php" align="middle"><font size=-2>(mesure anti-spam : please copy the 5 letters from the picture just on the right - it's case-insensitive)</font>

  </td>
</tr>

mais l'image n'est pas affichée ?!?!?!? comprends plus rien.... heeeelp !

ps. t'as vu le nombre de ligne a checker ?!?!?
Logged
fabski - novice

Pascal YAP

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 13833
  • Hello World :-)
    • CPG 1.5.x ExperiMental website
Re: [MOD/HACK] CAPTCHA [anti-spam sur commentaires]
« Reply #12 on: September 01, 2006, 12:31:39 am »

Quote
t'as vu le nombre de ligne a checker ?!?!?
Mais vu le nombre de lignes ajoutées à l'ancienne version, ce n'est pas trop cruel  :D

Vérifier aussi le fichier CAPTCHA.PHP, c'est ce fichier qui affiche les images-texte.
La question est de savoir pourquoi cela fonctionne en anglais  ???

PYAP
« Last Edit: September 01, 2006, 12:36:44 am by PYAP »
Logged

tyio

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 27
Re: [MOD/HACK] CAPTCHA [anti-spam sur commentaires]
« Reply #13 on: September 01, 2006, 04:36:22 pm »

ben c'est mieux en effet, de changer directement les elements principal du site, etant donné que c'est qd meme qq chose qui reste, pour tous les themes ;)


alors, on rajoute , dans theme.inc.php :

Quote
'{CONFIRM}' => $lang_display_comments['confirm'],


apres :

Quote
'{COMMENT}' => $lang_display_comments['comment'],




et bien sur, on rajoute :

Quote
<tr>
  <td class="tableb_compact" colspan="2">
    {CONFIRM}
  </td>
  <td class="tableb_compact" colspan="2">
    <input type="text" name="confirmCode" size="5" class="textinput"> <img src="captcha.php" align="middle">
  </td>
</tr>


juste apres :

Quote
<!-- END input_box_no_smilies -->

ou avant, enfin, çà depend de votre style graphique ^^


Et les autres manip, ce sont les memes ;)
Logged

Pascal YAP

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 13833
  • Hello World :-)
    • CPG 1.5.x ExperiMental website
Re: [MOD/HACK] CAPTCHA [anti-spam sur commentaires]
« Reply #14 on: September 01, 2006, 11:08:58 pm »

Bonjour,

Nous avons constaté qu'il était possible de modifier Theme.inc.php ! Mais l'équipe de développement de Coppermine ne le recommande pas.
En effet en cas de mise à jour du code de CPG, seriez contraint de reprendre la modif. Alors que l'inclure dans un Theme.php, vous ne touchez pas au code de CPG.
C'est tout.
Libre à vous !
Ceci dit, cela ne semble pas engendrer de bug !  ;)
 
PYAP
Logged

Pascal YAP

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 13833
  • Hello World :-)
    • CPG 1.5.x ExperiMental website
Re: [MOD/HACK] CAPTCHA [anti-spam sur commentaires]
« Reply #15 on: September 04, 2006, 12:39:24 am »

Bonjour,

Voici une question posée par PM !
Nous ne répondons au cas particulier par PM !


Au sujet des FONTS, il faut créer un dossiers fonts (votre-cpg/fonts) et y placer les deux polices fournies avec le ZIP. Mais vous pouvez très bien utiliser n'importe quelles polices TTF (TrueType)
Dans ce cas modifiez le fichier CAPTCHA.PHP en conséquence.
Quote
/**
 * Fonts to create the captch image
 */
$aFonts = array('fonts/ARIALN.TTF', 'fonts/algerinn.ttf'); /* acidic.ttf et hurryup.ttf , sont les polices d'origine de ce MOD */

Assurez-vous que votre serveur propose FreeType comme indiqué dans le premier post. (voir votre phpinfo.php)

PYAP
« Last Edit: September 04, 2006, 01:05:59 am by PYAP »
Logged

gt4mike

  • Coppermine newbie
  • Offline Offline
  • Posts: 13
    • wallpaper
Re: [MOD/HACK] CAPTCHA [anti-spam sur commentaires]
« Reply #16 on: September 10, 2006, 09:43:34 am »

Bonjour,

Merci à tous pour vos tests.

Chez moi, cela marche en suivant cette procédure :

1/ TELECHARGEZ CAPTCHA.
Placez le fichier PHP captcha.php à la racine du répertoire Coppermine
Placez captcha.class.php dans le dossier "include" de Coppermine.
Placez les polices de caractères TTF dans le dossiers /fonts que vous devez créer.
 (TIPS : vous pouvez utilisez n'importe quelles fontes TrueType)

-----------------------------------

2/ Ouvrez /lang/french.php (et tous les fichiers /lang que votre galerie propose)

Cherchez
Code: [Select]
'non_exist_comment' => 'Le commentaire sélectionné n\'existe pas.',
Puis ajoutez après la ligne :
Code: [Select]
'captcha_error' => 'Le code de confirmation ne correspond pas. The confirmation code didn\'t matched',
Cherchez
Code: [Select]
'report_comment_title' => 'Envoyer ce commentaire à l\'administrateur', //cpg1.4
Puis ajoutez après la ligne :
Code: [Select]
'confirm' => 'Confirmation',

-----------------------------------

3/ Ouvrez /includes/theme.inc.php :

Cherchez
Code: [Select]
'{COMMENT}' => $lang_display_comments['comment'],
Ajoutez apres la ligne :
Code: [Select]
'{CONFIRM}' => $lang_display_comments['confirm'],
Cherchez :
Code: [Select]
<!-- END input_box_no_smilies -->
Ajoutez apres la ligne :
Code: [Select]
<tr>
  <td class="tableb_compact" colspan="2">
    {CONFIRM}
  </td>
  <td class="tableb_compact" colspan="2">
    <input type="text" name="confirmCode" size="5" class="textinput"> <img src="captcha.php" align="middle">
  </td>
</tr>


-----------------------------------

4/ Ouvrez db_input.php

Cherchez :
Code: [Select]
    case 'comment':
        if (!(USER_CAN_POST_COMMENTS)) cpg_die(ERROR, $lang_errors['perm_denied'], __FILE__, __LINE__);

Ajoutez apres la ligne :
       
Code: [Select]
require("include/captcha.class.php");
        if (!PhpCaptcha::Validate($_POST['confirmCode'])) {
          cpg_die(ERROR, "Confirmation code didn't matched", __FILE__, __LINE__);
        }


encore merci  ;D

exemple ici : http://wallpaper.psp.ekila.org/
« Last Edit: September 10, 2006, 05:16:52 pm by gt4mike »
Logged

Pascal YAP

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 13833
  • Hello World :-)
    • CPG 1.5.x ExperiMental website
Re: [MOD/HACK] CAPTCHA [anti-spam sur commentaires]
« Reply #17 on: September 10, 2006, 10:00:00 am »

Bonjour,
Quote
Chez moi, cela marche en suivant cette procédure
Qui semble être rigoureusement la même !
Avec une différence de taille, la modif du fichier theme.inc.php qui ne doit être pas touché !
Pour des questions de mise à jour du code de Coppermine il est beaucioup plus judicieux de tripoter le fichier THEME.PHP de votre thème.
Mais comme nous l'avons déjà vu un peu plus haut dans ce sujet, bidouiller THEME.INC.PHP est une alternative non recommandée  ;)

PYAP
Logged

gt4mike

  • Coppermine newbie
  • Offline Offline
  • Posts: 13
    • wallpaper
Re: [MOD/HACK] CAPTCHA [anti-spam sur commentaires]
« Reply #18 on: September 10, 2006, 10:15:17 am »

Oui c'est la meme, c'est pour cela que j'ai écris "merci", je ne l'ai que re-formulé proprement pour éviter de se perdre.

Pour theme.inc.php, n'ayant pas d'autre alternative, vu que toutes les galeries de mes membres ont le theme classic d'installé par défaut, et qu'ils ne peuvent en changer, je suis obligé de le modifier. :-\
Logged

François Keller

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 9094
  • aka Frantz
    • Ma galerie
Re: [MOD/HACK] CAPTCHA [anti-spam sur commentaires]
« Reply #19 on: September 10, 2006, 10:31:25 am »

Quote
Pour theme.inc.php, n'ayant pas d'autre alternative, vu que toutes les galeries de mes membres ont le theme classic d'installé par défaut, et qu'ils ne peuvent en changer, je suis obligé de le modifier.

Là je ne comprends pas  ??? si tout le monde a le theme classic, pourquoi ne pas modifier le fichier theme.php du theme classic ? et si on peut changer de theme autant utiliser le plugin master template
« Last Edit: December 04, 2006, 10:02:52 pm by PYAP »
Logged
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog
Pages: [1] 2 3 4 5 ... 10   Go Up
 

Page created in 0.06 seconds with 19 queries.