Installer des clés basées sur des scores sur des sites Web

Cette page explique comment installer une clé basée sur des scores sans test sur votre site Web. Une clé basée sur les scores vous permet d'intégrer reCAPTCHA dans votre site sans obliger les utilisateurs à effectuer des tests CAPTCHA.

Lorsqu'une clé basée sur les scores est installée, reCAPTCHA envoie une réponse chiffrée, le jeton de réponse reCAPTCHA (également appelé jeton), lorsqu'un utilisateur final déclenche une interaction. Une fois le jeton généré, vous devez créer une évaluation dans les deux minutes pour recevoir un score pour chaque requête. Sur la base du score, vous pouvez comprendre le niveau de risque lié aux interactions des utilisateurs et configurer une ou plusieurs réponses appropriées. De plus, la clé basée sur des scores peut collecter les données de télémétrie d'activité du bot pour anticiper les nouvelles attaques ou cibles.

Pour améliorer le modèle de risque de reCAPTCHA, nous vous recommandons d'insérer reCAPTCHA sur chaque page de votre site, car il permet de comprendre comment les utilisateurs réels et les robots passent d'une page à une autre.

Avant de commencer

  1. Préparez votre environnement pour reCAPTCHA.

  2. Créez une clé basée sur un score.

    Vous pouvez également copier l'ID d'une clé basée sur un score existante en effectuant l'une des étapes suivantes:

    • Pour copier l'ID d'une clé existante à partir de la console Google Cloud, procédez comme suit:

      1. Accédez à la page reCAPTCHA.

        Accéder à reCAPTCHA

      2. Dans la liste des clés reCAPTCHA, maintenez le pointeur sur la clé que vous souhaitez copier, puis cliquez sur .
    • Pour copier l'ID d'une clé existante à l'aide de l'API REST, utilisez la méthode projects.keys.list.
    • Pour copier l'ID d'une clé existante à l'aide de la CLI gcloud, utilisez la commande gcloud recaptcha keys list.

Placer la clé sur votre site Web

reCAPTCHA fonctionne mieux lorsqu'il dispose de contexte sur les interactions sur votre site. reCAPTCHA surveille à la fois les comportements légitimes et abusifs pour en savoir plus sur les interactions sur votre site.

Pour de meilleurs résultats, installez des clés basées sur des scores aux emplacements suivants sur votre site Web:

  • Forms
  • Actions (interactions des utilisateurs)
  • En arrière-plan de toutes les pages Web

Les clés basées sur les scores n'interrompent pas vos utilisateurs. Vous pouvez donc exécuter reCAPTCHA avec des clés basées sur les scores lorsque cela est nécessaire sans affecter la conversion.

Intégrer la clé à l'interface

Nous vous recommandons d'ajouter la validation reCAPTCHA sur une interaction utilisateur qui doit être validée. Par exemple, si vous souhaitez valider l'action d'envoi d'un formulaire, vous devez ajouter la validation reCAPTCHA à l'action d'envoi.

En fonction de l'emplacement où vous souhaitez ajouter la validation reCAPTCHA, choisissez l'option appropriée:

Vous trouverez un exemple de chaque option dans le code source du site Web de démonstration.

Ajouter une validation à une interaction utilisateur

  1. Pour charger reCAPTCHA sur votre page Web, ajoutez l'API JavaScript à l'aide de la clé basée sur des scores dans l'élément <head></head> de votre page Web.

        <head>
        <script src="https://www.google.com/recaptcha/enterprise.js?render=KEY_ID"></script>
        ....
        </head>
      

    reCAPTCHA utilise la langue du navigateur par défaut. Si vous souhaitez spécifier une autre langue, utilisez l'attribut hl=LANG dans votre script. Par exemple, pour utiliser le français, spécifiez ce qui suit : <script src="https://www.google.com/recaptcha/enterprise.js?hl=fr"></script>. Pour en savoir plus sur les langues acceptées, consultez les codes de langue pour reCAPTCHA.

    Si vous souhaitez spécifier un emplacement pour le badge, utilisez badge=LOCATION comme paramètre de requête dans la balise de script. Exemple :www.google.com/recaptcha/enterprise.js?sitekey=KEY_ID&badge=bottomleft Par défaut, l'emplacement est défini sur bottomright. Les autres valeurs possibles sont inline et bottomleft.

  2. Pour ajouter la validation reCAPTCHA à une interaction utilisateur, procédez comme suit:

    1. Pour vous assurer que grecaptcha.enterprise.execute() s'exécute après le chargement de la bibliothèque reCAPTCHA, utilisez grecaptcha.enterprise.ready().

    2. Appelez grecaptcha.enterprise.execute() pour chaque interaction que vous souhaitez protéger avec votre clé basée sur des scores. Indiquez un nom explicite pour une interaction utilisateur dans le paramètre action. Pour obtenir plus de conseils, consultez la section Actions.

      L'exemple suivant montre comment appeler grecaptcha.enterprise.execute() sur une action de connexion:

      <script>
      function onClick(e) {
        e.preventDefault();
        grecaptcha.enterprise.ready(async () => {
          const token = await grecaptcha.enterprise.execute('KEY_ID', {action: 'LOGIN'});
          // IMPORTANT: The 'token' that results from execute is an encrypted response sent by
          // reCAPTCHA to the end user's browser.
          // This token must be validated by creating an assessment.
          // See https://cloud.google.com/recaptcha/docs/create-assessment
        });
      }
      </script>

      grecaptcha.enterprise.execute() génère un jeton, comme illustré dans l'exemple suivant :

      03AGdBq27tvcDrfiRuxQnyKs-SarXVzPODXLlpiwNsLqdm9BSQQRtxhkD-Wv6l2vBSnL_JQd80FZp3IeeF_TxNMrqhyQchk7hmg_ypDctt_F5RTr9zNO9TSDX3Fy0qHQTuaM9E3hrAkA1v1l7D-fCreg7uq8zoudfh1ZRmN49-2iAMAn4E8_ff-nmlLTNGVZmCSyeze-5xM24pM_JhhUVcCMIDKYtDUnr2imxg2ubIqMscCZGUtdXNUO_LRSzuwWDlLyAr3V2nVn29Z48PQa2QzbymEXzO9pCtoGQmY7kiZ8ILfD9DAJSSyUTMwJXVJptUeBmLM341fq_STYZBbPQJ0zYOEDvJoFsIwGMfuphkDet0nK56b0mkzaL8RCRy2oK31Mcx6n3PhGkCnQ6QIhiV5ZVmV1Hz9M3w99zYw6ekc3wPCNMZ6V6x1ApVpIk3reFfByRQ0C0_pRWwbKZHLXQ_oSTI1UI7kyH1VeXngsJAx2l7zcp0hQNipajC4YwL7Jb8X4cCD0NeiaY1YCrI5j87mK5axcMikq460I4niIFeDBlHGF-ndqu3CJstosAur-C_x827f-dPPjA9Vrw8MDb3x4KUb0vbA8xE9mJxPYGY0rPCR27vJ38Voa7DjEBGX9c-iufv5_wfj-yIfIAHy0iijnRLI0CVkWF2-iPdWv7LnkTwL3WKbF_MrEGZXmtyLX9dEZArfxmToeMuSdYkfikkgR2-k4Xzxlz15RbHJuWSAYqEyTTnpUXmOvDuTN92b0kYqbRelcLUI_Shm-8dq9e-L7K6YWQv32gV6NukZKY15dyrJaW10frBgTOGSTTpIyB7MNEL8S27WjWtOb-zWsgimIhoRNfS8BiJWkmK4gTj51m7Wur-qsDbHgV6gXlMvjJs_B7oXX-mKsKhY9ACtwukotBelGYQOvf1RDHjH3Yi1RDfELBY6AkwUK4tq8cACVGpCwa0gKUo-sbORTsGu_r7VTzYo1AaZD5HV4XUm8yoqszel6DmIfkJcI7PfzzvfUJuvMQ1itZSzpzuth3glbKBYsIjbKqG-q8cxtZ7u0l32j46ASo2zlCJWUjwP3W1P7MUenEoIZtjlyTB_tT6Fk8RxGgRv3oLP7NPFJGs9ZGOAl6tBHpZF8Y_FqEOCMKtBl2JYOE5h6_Es3buSdiMm7mtLr64pboGiEColF1vbVvYpyaaqGFPXBM6ekZSXEXLAI0_7rj_fCLgnB21KXfac95vZbM9vyJCASvDcWKwqajQwy5aGMNe9GtbMogYbZfz5UGWAIi24Vd8KSv3qKOOwvzbcw4H0HYdsBXA
      

  3. Une fois le jeton généré, envoyez-le à votre backend et créez une évaluation dans les deux minutes.

    Pour les intégrations de WAF, si vous intégrez une clé de jeton d'action, vous devez associer le jeton à un en-tête de requête prédéfini et vous n'avez pas besoin de créer d'évaluation. Pour en savoir plus, consultez la section Implémenter des jetons d'action reCAPTCHA.

Ajouter reCAPTCHA sur un bouton HTML

  1. Pour charger reCAPTCHA sur votre page Web, ajoutez l'API JavaScript à l'aide de la clé basée sur des scores dans l'élément <head></head> de votre page Web.

        <head>
        <script src="https://www.google.com/recaptcha/enterprise.js?render=KEY_ID"></script>
        ....
        </head>
      

    reCAPTCHA utilise la langue du navigateur par défaut. Si vous souhaitez spécifier une autre langue, utilisez l'attribut hl=LANG dans votre script. Par exemple, pour utiliser le français, spécifiez ce qui suit : <script src="https://www.google.com/recaptcha/enterprise.js?hl=fr"></script>. Pour en savoir plus sur les langues acceptées, consultez les codes de langue pour reCAPTCHA.

  2. Pour ajouter reCAPTCHA sur un bouton HTML simple, procédez comme suit:

    1. Définissez une fonction de rappel pour gérer le jeton.

      <script>
         function onSubmit(token) {
           document.getElementById("demo-form").submit();
         } // Use `requestSubmit()` for extra features like browser input validation.
      </script>

      Pour en savoir plus, consultez la méthode requestSubmit().

    2. Ajoutez des attributs à votre bouton HTML.

      <button class="g-recaptcha"
      data-sitekey="KEY_ID"
      data-callback='onSubmit'
      data-action='submit'>Submit</button>

      Si vous souhaitez spécifier un emplacement pour le badge, utilisez l'attribut data-badge=LOCATION sur l'élément qui contient class=g-recaptcha. Par défaut, l'emplacement est défini sur bottomright. Les autres valeurs possibles sont inline et bottomleft.

    3. Lorsque ce bouton est utilisé pour envoyer un formulaire sur votre site, le paramètre POST g-recaptcha-response contient le jeton de réponse.

  3. Une fois le jeton généré, envoyez-le à votre backend et créez une évaluation dans les deux minutes.

    Pour les intégrations de WAF, si vous intégrez une clé de jeton d'action, vous devez associer le jeton à un en-tête de requête prédéfini et vous n'avez pas besoin de créer d'évaluation. Pour en savoir plus, consultez la section Implémenter des jetons d'action reCAPTCHA.

Étape suivante