reCAPTCHA v3 parametrage trop senssible

fabrice88

WRInaute occasionnel
Bonjour,
sur un de mes site Internet j'ai intégré le reCAPTCHA v3 sur mon formulaire.
Le furmaulire fonctionne très bien et le reCAPTCHA v3 aussi mais j'ai régulièrement des retours d'internaute qui me disent qu'ils sont détectés comme des robots et qui ne peuvent donc pas utiliser mon formulaire. ( perso quand je fais des essais je n'ai pas de problèmes)
Mon code est paramétré de cette façon :

if ($recaptcha->score >= 0.5) {
... j'envoi mon mail ...
echo '<p>Merci, votre message a bien été envoyé.<br/>
Nous vous recontacterons dans les meilleurs délais.</p>';
}
else {
echo 'ERREUR VOUS ETES DETECTER COMME UN ROBOT. <br/>
MERCI DE NOUS CONTACTER PAR TELEPHONE';
}

comment puis-je faire pour que certains internautes ne se retrouve pas avec le message d'erreur ?
 

spout

WRInaute accro
PHP:
<?php
$isHumanFieldName = 'field_' . md5('is_human');
?>

<input type="hidden" name="<?php echo $isHumanFieldName; ?>" value="0" >

<script>
document.addEventListener('DOMContentLoaded', function(){
    document.querySelector('input[name="<?php echo $isHumanFieldName; ?>"]').value = 1;
}, false);
</script>

<?php
if (!empty($_POST) && empty($_POST[$isHumanFieldName])) {
    die('sucker');
}

Sans reCAPTCHA, simple et efficace.
@NicolasH te confirmera.
 

rick38

WRInaute passionné
Ouais faut mieux se passer de reCaptcha quand on peut, mais quand c'est votre boss ou votre chef de projet qui vous demande de l'implémenter pour un client, vous pouvez pas faire votre propre bidouille...

Donc je vois que la v3 est moins intéressante que la v2. Au moins la v2, quand elle avait un doute, demandait de cocher "je ne suis pas un robot" ou de cocher des images. Maintenant avec la v3 c'est au dev de gérer lui-même les cas douteux, ça perd beaucoup de son intérêt qui était la simplicité d'installation...
Je recommande donc comme alternative d'utiliser la v2.
 
Dernière édition:

pfl34

Nouveau WRInaute
Bonjour,
Je viens chercher de l'aide au sujet d'un problème de spams dont je n'arrive pas à me défaire (c'est vrai que je débute un peu ...).
Depuis plusieurs jours, le formulaire de contact de mon site (http://www.mas-la-mourade.com/) est devenu une vraie passoire malgré l'utilisation d'un reCAPTCHA (V2) de Google. Les spams viennent en majorité de Russie. Je sais, il existe la version V3 du reCAPTCHA Google mais je ne suis pas sur que ça changera quelque chose !
En cherchant sur le net, j'ai découvert la technique du "honey pot" et un exemple de mise en oeuvre grâce à @spout. Je pense avoir compris le principe. On renseigne l'attribut name de la balise <input> en php, ce qui permet de repérer le cas où le formulaire n'est pas rempli par un humain.
Sauf que je ne vois pas bien où placer cette partie du code :
<?php
$isHumanFieldName = 'field_' . md5('is_human');
?>
Dès le début ou ailleurs ?
Un grand merci d'avance.
 

Discussions similaires

Haut