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

Twitter ou Facebook : quel réseau social choisir pour votre communication ?

C’est un fait, c’est sur les réseaux sociaux que se joue l’avenir d’une marque. L’essentiel de la communication se fait soit sur Facebook,...

Publié le par Celine Albarracin
Webmarketing

Les applications favorites des Français en 2018

Sans surprise, Facebook reste toujours l’application préférée des Français en 2018, en termes d’utilisateurs actifs par mois. Ce sont les...

Publié le par Lucie Dorothe