Bonjour,
Depuis quelques semaines, je suis confronté à spammeur qui s’amusent à inscrire pleins de gens à mon Infolettre (Mailsubscriber). Utilisant le Double opt-in, un courriel de confirmation est envoyé. Mais les courriels sont souvent non-valide, alors le message de confirmation rebondi. J’ai ainsi pu découvrir la problématique.
J’aimerais donc savoir s’il serait possible d’ajouter un Captcha (ex. reCaptcha) pour le formulaire d’inscription à l’infolettre.
D’ailleurs, est-ce que le plugin NoSPAM est actif pour le formulaire d’inscription à l’infolettre?
Merci,
Stéphane
Oui, c’est faisable en surchargeant le formulaire. Mais cela implique de mettre les mains dans le code. exemple de code à mettre dans la fonction vérifier du formulaire à protéger : if ( lire_config(‹ truc/recaptcha_actif ›,‹ non › )==‹ oui ›) { $grecaptcharesponse=_request(‹ g-recaptcha-response ›); $url=lire_config(‹ truc/recaptcha_url ›); $secret=lire_config(‹ truc/recaptcha_priv ›); $remoteip=$_SERVER[« REMOTE_ADDR »]; $data = array( ‹ secret › => RECAPTCHA_PRIV, ‹ response › => $grecaptcharesponse, ‹ remoteip › => $remoteip ); $options = array( ‹ http › => array( ‹ header › => « Content-type: application/x-www-form-urlencoded\r\n », ‹ method › => ‹ POST ›, ‹ content › => http_build_query($data) ) ); $context = stream_context_create($options); $result = file_get_contents(RECAPTCHA_URL, false, $context); if ($result === FALSE) { $erreurs[‹ recaptcha ›]=_T(‹ truc:captcha_repond_pas ›); } $res= json_decode($result); if (!$res->success==1) $erreurs[‹ recaptcha ›]=_T(‹ truc:captcha_faux ›); } Et le genre de choses à mettre coté HTML : [(#CONFIG{truc/recaptcha_actif}|=={oui}|oui) #SET{name,recaptcha}#SET{obli,‹ obligatoire ›}#SET{defaut,’’}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
] Sachant que dans ces exemples toutes les configs sont sous forme d’entrées dans la table meta de spip ( le squelette est un plugin et est configurable depuis le backoffice ). Voila voila …