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

Cette page explique comment installer une clé basée sur des scores sans difficulté sur votre site Web. Avec une clé basée sur des scores, vous pouvez inclure reCAPTCHA Enterprise sur l'ensemble de votre site sans demander aux utilisateurs de relever de nouveaux défis.

Après avoir installé une clé basée sur des scores, vous devez créer une évaluation et recevoir un score pour chaque requête. Ce score vous permet de comprendre le niveau de risque que présentent les interactions des utilisateurs et de configurer une ou plusieurs réponses appropriées. En outre, la clé basée sur des scores peut collecter la télémétrie de l'activité des bots pour vous alerter en amont contre de nouvelles attaques ou cibles.

Pour améliorer le modèle de risque de reCAPTCHA Enterprise, nous vous recommandons d'insérer reCAPTCHA Enterprise 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 Enterprise.

  2. Créez une clé basée sur des scores.

    Vous pouvez également copier l'ID d'une clé existante basée sur des scores en effectuant l'une des opérations 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 Enterprise.

        Accéder à la page reCAPTCHA Enterprise

      2. Dans la liste des clés reCAPTCHA, pointez 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 gcloud CLI, exécutez la commande gcloud recaptcha keys list.

Placer la clé sur votre site Web

reCAPTCHA Enterprise fonctionne mieux lorsqu'il dispose de contexte sur les interactions sur votre site. reCAPTCHA Enterprise 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 de votre site Web:

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

Les clés basées sur des scores n'interrompent pas vos utilisateurs. Vous pouvez donc exécuter reCAPTCHA Enterprise avec des clés basées sur des scores à tout moment, sans affecter la conversion.

Intégrer la clé à l'interface

Selon l'emplacement où vous souhaitez ajouter la validation reCAPTCHA Enterprise, choisissez l'option appropriée:

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

Ajouter la validation lors d'une interaction utilisateur

  1. Pour charger reCAPTCHA Enterprise sur votre page Web, ajoutez l'API JavaScript avec votre 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 Enterprise 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 compatibles, consultez la page Codes de langue pour reCAPTCHA Enterprise.

    Si vous souhaitez spécifier un emplacement pour le badge, utilisez badge=LOCATION comme paramètre de requête dans le tag de script. Par 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 Enterprise à 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() sur chaque interaction que vous souhaitez protéger avec votre clé basée sur des scores. Spécifiez un nom explicite pour une interaction utilisateur dans le paramètre action. Pour en savoir plus, 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 Enterprise to the end user's browser.
          // This token must be validated by creating an assessment.
          // See https://cloud.google.com/recaptcha-enterprise/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 reCAPTCHA généré, envoyez-le à votre backend et créez une évaluation dans les deux minutes.

    Pour les intégrations 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 Implémenter des jetons d'action reCAPTCHA.

Ajouter reCAPTCHA sur un bouton HTML

  1. Pour charger reCAPTCHA Enterprise sur votre page Web, ajoutez l'API JavaScript avec votre 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 Enterprise 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 compatibles, consultez la page Codes de langue pour reCAPTCHA Enterprise.

  2. Pour ajouter reCAPTCHA Enterprise 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 section 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 au niveau de l'élément comportant l'élément 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 reCAPTCHA généré, envoyez-le à votre backend et créez une évaluation dans les deux minutes.

    Pour les intégrations 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 Implémenter des jetons d'action reCAPTCHA.

Étapes suivantes