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

Cette page explique comment installer sur votre site Web une clé basée sur des scores sans difficulté. Une clé basée sur des scores vous permet d'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. Sur la base de ce score, vous pouvez comprendre le niveau de risque des interactions utilisateur et 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 avertir en amont des 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 si nécessaire, sans affecter la conversion.

Intégrer la clé à l'interface

Selon l'endroit où vous souhaitez ajouter la validation reCAPTCHA Enterprise, sélectionnez l'option appropriée:

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

Ajouter la validation lors d'une interaction de l'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 section 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. 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 sur 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 à l'aide de 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 qui suivent.

    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 une évaluation. Pour en savoir plus, consultez Implémenter des jetons d'action reCAPTCHA.

Ajouter reCAPTCHA à 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 section 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 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 qui suivent.

    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 une évaluation. Pour en savoir plus, consultez Implémenter des jetons d'action reCAPTCHA.

Étapes suivantes