Fork me on GitHub

Rapport de message :*
 

Re: Inscriptions d'utilisateurs indésirables

Titre du sujet : Re: Inscriptions d'utilisateurs indésirables
par olivee sur 29/10/2013 23:29:18

En faisant une petite recherche sur google je tombe sur pas mal de question concernant le robot inscription avec pratiquement tous les CMS, la meilleur solution possible testé avec d'autres CMS est la question réponse dans le formulaire d'inscription. le principe est simple chaque webmaster peut configurer une question avec une réponse propre à lui.
passons maintenant au pratique.
j'utilise xoops 2.5.4 et le module profile 1.62
on commence par modifier le fichier include/forms.php
on cherche la ligne
Citation :
$elements[0][] = array('element' => new XoopsFormPassword(_US_VERIFYPASS, 'vpass', 35, 32, ''), 'required' => true);
$weights[0][] = 0;


juste apres on colle

Citation :

global $xoopsModuleConfig;
$elements[0][] = array('element' => new XoopsFormLabel(_QUESTION_ANTI_ROBOT, $xoopsModuleConfig['profile_questionn']));
$weights[0][] = 0;

$elements[0][] = array('element' => new XoopsFormText(_REPONSE_AU_QUESTION_ANTIBOT, 'question', 35, 32, ''), 'required' => true);
$weights[0][] = 0;


on ouvre maintenant le fichier register.php

on cherche la ligne

Citation :
$vpass = isset($_POST['vpass']) ? $myts->stripSlashesGPC(trim($_POST['vpass']) ) : '';


et on colle juste après le code

Citation :
$question = isset($_POST['question']) ? $myts->stripSlashesGPC(trim($_POST['question']) ) : '';


global $xoopsModuleConfig;
if ( (isset($question)) && ($question != $xoopsModuleConfig['profile_reponse']) ) {
$stop .= _US_REPONSEAUQUESTIONESTFAUX . '<br />';
}



le 3eme fichier à modifier est xoops_version.php

on colle dans la partie de configurtation

Citation :
$modversion['config'][2]['name'] = 'profile_questionn';
$modversion['config'][2]['title'] = '_PROFILE_MI_PROFILE_QUESTION';
$modversion['config'][2]['description'] = '';
$modversion['config'][2]['formtype'] = 'textbox';
$modversion['config'][2]['valuetype'] = 'text';
$modversion['config'][2]['default'] = 'où se trouve Paris??';

$modversion['config'][3]['name'] = 'profile_reponse';
$modversion['config'][3]['title'] = '_PROFILE_MI_PROFILE_REPONSE';
$modversion['config'][3]['description'] = '';
$modversion['config'][3]['formtype'] = 'textbox';
$modversion['config'][3]['valuetype'] = 'text';
$modversion['config'][3]['default'] = 'france';


dans le fichier language/main.php on colle

Citation :
define("_REPONSE_AU_QUESTION_ANTIBOT", "La reponse pour la question est:");
define("_US_REPONSEAUQUESTIONESTFAUX", "Votre reponse au question est faux. ressayez encore une fois");
define("_QUESTION_ANTI_ROBOT", "Question Anti Robots, Prouve que vous etes humain");



voilà c'est tout vous pouvez changer la question et la réponse dans les préférence de profile soit par exemple 4 plus 3 égal à combien? l'utilisateur doit taper manuellement la réponse juste pour pouvoir s'inscrire sinon il tombe sur un message d'erreur pour ressayer. depuis que j'ai ajouté ça à mon site j'ai jamais eu d'inscription bidon même si ça arrive on sait jamais il suffit de modifier la question et la réponse dans les préférences.


Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

80 Personne(s) en ligne (70 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 80 | Plus ...