Dépannage

Important: La version 1.0 de l'API reCAPTCHA n'est plus compatible. Veuillez passer à la version 2.0. En savoir plus


Je ne sais pas où ajouter reCAPTCHA

Ce conseil est valable pour tous les utilisateurs qui intègrent reCAPTCHA, quelle que soit la langue utilisée.

Vous devez d'abord identifier deux points chauds dans votre code. Il s'agit des emplacements où vous allez ajouter les appels reCAPTCHA.

  • Afficher reCAPTCHA:la première zone d'interaction est le code qui génère le formulaire. Nous espérons que cela est assez facile à trouver (en recherchant une balise <form> dans votre code html) et que vous avez réussi à afficher le CAPTCHA sur votre formulaire.

  • Vérifier reCAPTCHA:la deuxième zone d'interaction est celle qui semble poser des problèmes aux internautes. Vous devez identifier le code qui gère l'envoi de formulaire, c'est-à-dire celui qui s'exécute lorsque l'utilisateur clique sur submit (envoyer). Il est difficile de généraliser à quoi ressemble ce code, mais voici quelques indices qui peuvent vous aider:

    • Si votre formulaire peut afficher un message d'erreur, par exemple si un champ obligatoire est vide, recherchez le code qui génère ce message.
    • si votre formulaire place les informations dans une base de données, recherchez du code qui effectue une insertion SQL.
    • si votre formulaire envoie un e-mail, recherchez le code permettant de le faire.

    Formulaire déjà validé

    La vie sera plus facile si votre formulaire dispose déjà d'une logique de validation (c'est-à-dire qu'il gère les entrées non valides de l'utilisateur en affichant un message au lieu d'effectuer toute action habituelle). Si c'est le cas et que vous pouvez trouver le code qui indique que vous êtes presque libre. Si le formulaire peut afficher un message d'erreur, recherchez le texte de ce message dans le code et vous serez sûr d'être proche. Une fois que vous avez trouvé le code de validation, vous devez ajouter un appel à la fonction check_answer en plus des autres vérifications possibles (adresse e-mail vide, âge trop jeune, etc.).

    Le formulaire n'a aucune validation

    S'il n'existe actuellement aucune logique de validation pour votre formulaire (si le clic sur "Envoyer" réussit toujours), le problème est plus délicat. Dans ce cas, vous devez ajouter le code de validation reCAPTCHA juste avant le code de gestion du formulaire existant qui fait ce qu'il fait lorsque l'utilisateur envoie l'annonce. Vous devez également déterminer comment afficher à nouveau le formulaire pour donner à l'utilisateur une nouvelle tentative de captcha. Malheureusement, il n'existe pas de méthode universelle pour y parvenir. Cela dépend entièrement de la structure du code dont vous disposez déjà. Si le code existant n'est pas trop complexe, vous aurez peut-être la chance de le publier sur le forum des développeurs reCAPTCHA et de demander des conseils. (Si vous y publiez des posts, assurez-vous d'inclure suffisamment d'informations pour que les autres puissent vous aider. Le simple fait de dire"mon code ne fonctionne pas" ne donne généralement pas de bons résultats.)

  • Ça ne fonctionne pas ! Aidez-moi !

    Avant toute chose, assurez-vous d'utiliser les bonnes clés. Vos clés publiques et privées sont-elles échangées ? Avez-vous pensé à placer la clé privée dans le gestionnaire de formulaires ainsi que la clé publique dans le formulaire ?

    Notez que Mailhide utilise des clés différentes de celles du reCAPTCHA principal basé sur un formulaire.

    Assurez-vous que votre formulaire utilise la méthode POST. Sinon, remplacez les variables du gestionnaire de formulaires reCAPTCHA par GET au lieu de POST.

    Si reCAPTCHA fonctionnait et que le message "Une erreur interne s'est produite" s'affiche soudainement, avez-vous récemment supprimé le compte Google que vous avez utilisé pour vous inscrire aux clés ? Si tel est le cas, enregistrez de nouvelles clés avec un compte actif et essayez-les.

    reCAPTCHA accepte les mots incorrects

    Les humains font des erreurs, et nous le comprenons. Dans reCAPTCHA, nous utilisons un moteur d'analyse des risques avancé pour déterminer si la requête entrante provient d'un humain ou non. Lorsque nous sommes convaincus que les utilisateurs sont humains, nous leur permettons de faire de petites erreurs.

    Non, je veux dire des mots *totalement* incorrects

    Si reCAPTCHA accepte n'importe quelle entrée, vous ne validez probablement pas correctement la réponse reCAPTCHA avec les serveurs d'API. Autrement dit: (1) vous n'appelez pas correctement https://www.google.com/recaptcha/api/verify (ou la fonction équivalente si vous utilisez un plug-in, tel que recaptcha_check_answer en PHP) ou (2) vous ne prenez pas l'action appropriée en fonction de la réponse de nos serveurs. Veuillez consulter les instructions spécifiques que vous avez utilisées pour installer reCAPTCHA (via un plug-in ou non) afin de savoir comment vérifier si l'utilisateur a correctement saisi la réponse.

    Mes utilisateurs commencent à recevoir des captchas à un mot

    reCAPTCHA ne se rapporte pas toujours à deux mots. C'est un test qui permet de distinguer les humains des robots. Si nous sommes convaincus que vous êtes un humain, nous vous proposerons un captcha beaucoup plus simple (voir l'exemple ci-dessous). Notre système s'appuie sur l'ensemble de votre engagement avec reCAPTCHA, avant, pendant et après sa résolution, pour déterminer si vous réussissez ou non le test, plutôt que sur la solution seule.

    Captcha facile

    Si vous souhaitez en savoir plus sur la sécurité de ces captchas simples, veuillez consulter notre blog : http://ytcsecurity.blogspot.com/2013/10/recaptcha-just-got-easier-but-only-if.html