Navigation

Toutes les catégories

Filtrer par auteur

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.

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

Wix vs Shopify : le comparatif

De nombreuses solutions existent pour la création de sites de commerce en ligne, qui proposent des modèles personnalisables pour votre boutique virtuelle, adossés ou non à un...

Publié le par Sebastien Turbe
Webmarketing

Wish va être supprimé des moteurs de recherche en France

Le site e-commerce Wish va disparaître des moteurs de recherche et ne sera plus disponible sur les stores d’applications en France. L’article Wish va être supprimé des...

Publié le par Heloise Famie-Galtier