Navigation

Toutes les catégories

Voir les derniers articles

Mettre en place reCaptcha sur Phpbb3

Il est souvent bien utile de vouloir se protéger des spammers et des inscriptions non sollicitées. reCaptcha est considéré comme un des plus  simple à mettre en plus et des plus...

reCaptcha

Il est souvent bien utile de vouloir se protéger des spammers et des inscriptions non sollicitées. reCaptcha est considéré comme un des plus  simple à mettre en plus et des plus sécurisé. Il s’intègre facilement avec de nombreux CMS comme jomla, wordpress ou encore PhpBB. Cependant aucune version n’est disponible pour la version PHPbb 3. Il faut donc modifier le code de certaines pages pour le mettre en place. C’est simple et stable.  Je vous conseille donc de l’effectuer.

Procédure :

Vous retrouverez les fichiers modifiés dans une archive téléchargeable ici. Sinon si vous souhaitez modifier directement vos fichiers télécharger reCaptcha pour Phpbb 2

1. Placer recaptchalib.php dans %phpbb_root_path %/includes/captcha

2. Sauvegarder les deux fichiers %phpbb_root_path %/styles/prosilver/template/ucp_register.html, %phpbb_root_path %/includes/ucp/ucp_register.php

3. Dans ucp_register.html :

A. Trouver <dd>{CONFIRM_IMG}</dd> et supprimer les lignes qui suivent :

[html]<dd><input type="text" name="confirm_code" id="confirm_code" size="8"
maxlength="8" title="{L_CONFIRM_CODE}" /></dd><dd>{L_CONFIRM_CODE_EXPLAIN}</dd>[/html]

4. Dans ucp_register.php :

A. Placer la ligne suivante juste avant l’instruction class ucp_register :

[php]require_once($phpbb_root_path . ‘includes/captcha/recaptchalib.’ .
$phpEx) ;[/php]

B. Placer les lignes de codes suivantes juste après global $config, $db, $user, $auth, $template, $phpbb_root_path, $phpEx ; (cela se trouve à quelques ligne de celle précendente) :

[php]
// Get a key from http ://recaptcha.net/api/getkey
$publickey =  » ;
$privatekey =  » ;
# the response from reCAPTCHA
$resp = null ;
# the error code from reCAPTCHA, if any
$error = null ;[/php]

Attention veillez à obtenir une clé publique et privé pour le renseigné en haut. Pour cela il suffit de s’inscrire gratuitement au service.

C. Modifier la ligne $confirm_id = request_var(‘confirm_id’,  ») ; par :

[php]$confirm_id = (isset($_POST[‘recaptcha_response_field’])) ; [/php]

D. Supprimer la ligne :

[php]’confirm_code’ = array(‘string’, !$config[‘enable_confirm’], 5, 8), [/php]

E. Trouver la ligne $wrong_confirm = false ; et remplacer le bloc if par celui qui suit :

[php]if ($config[‘enable_confirm’])*/
if ( !$confirm_id) {
}
else {
$resp = recaptcha_check_answer ($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]) ;
if ($resp->is_valid == false) {
$error[] = $user->lang[‘CONFIRM_CODE_WRONG’] ;
$wrong_confirm = true ;
}
}[/php]

F. Trouver la ligne de code $code = gen_rand_string(mt_rand(5, 8)) ; et supprimer jusqu’à la ligne $db->sql_query($sql) ; (comprise)

G. Quelques lignes après la dernière supprimer modifier $confirm_image = en

[php]$confirm_image = recaptcha_get_html($publickey, $error) ; [/php]

Voilà cela devrait fonctionner correctement. Vider le dossier cache de votre forum et rendez vous sur la page d’inscription pour voir le nouveau captcha.

Je vous rappelle que les fichiers déjà modifiés sont disponibles ici. Bonne modifications.

Afficher les commentaires (1)

Commentaires

Newsletter WebActus

Abonnez-vous pour recevoir notre sélection des meilleurs articles directement dans votre boîte mail.

Nous ne partagerons pas votre adresse e-mail.

Articles similaires

Webmarketing

[Infographie] – L’histoire de la publicité sur Youtube

Youtube est sans conteste la plateforme numéro un pour les contenus vidéos en ligne. Cependant, malgré sa large fréquentation, ses fonctionnalités qui en font le leader du domaine...

Publié le par Team WebActus
Webmarketing

La publicité s’invite sur le papier toilette pour occuper les espaces de cerveau encore disponibles

C’est la dernière trouvaille des commercialisateurs d’espaces publicitaires : le papier toilette ! Vous me direz : c’est l’endroit idéal...

Publié le par Team WebActus