Instala claves basadas en puntuaciones en sitios web

En esta página, se explica cómo instalar una clave basada en puntuaciones sin desafío en tu sitio web. Con una clave basada en puntuaciones, puedes incluir reCAPTCHA en todo el sitio sin que los usuarios tengan que resolver desafíos de CAPTCHA.

Después de instalar una clave basada en puntuaciones, debes crear una evaluación y recibir una puntuación por cada solicitud. En función de la puntuación, puedes comprender el nivel de riesgo que representan las interacciones del usuario y configurar una respuesta (o respuestas) adecuadas. Además, la clave basada en la puntuación puede recopilar la telemetría de la actividad del bot para la alerta temprana contra objetivos o ataques nuevos.

Para mejorar el modelo de riesgo de reCAPTCHA, te recomendamos que incluyas reCAPTCHA en cada página de tu sitio, ya que ayuda a comprender cómo los usuarios y bots reales realizan la transición entre diferentes páginas y acciones.

Antes de comenzar

  1. Prepara tu entorno para reCAPTCHA.

  2. Crea una clave basada en la puntuación.

    Como alternativa, puedes copiar el ID de una clave basada en puntuación existente si realizas uno de los siguientes pasos:

    • Para copiar el ID de una clave existente desde la consola de Google Cloud, haz lo siguiente:

      1. Ve a la página reCAPTCHA.

        Ir a reCAPTCHA

      2. En la lista de claves de reCAPTCHA, mantén el puntero sobre la clave que deseas copiar y, luego, haz clic en .
    • Para copiar el ID de una clave existente con la API de REST, usa el método projects.keys.list.
    • Para copiar el ID de una clave existente con la gcloud CLI, usa el comando gcloud recaptcha keys list.

Coloca la llave en tu sitio web

reCAPTCHA funciona mejor cuando tiene contexto sobre las interacciones en tu sitio y supervisa el comportamiento legítimo y abusivo para obtener información sobre las interacciones en tu sitio.

Para obtener mejores resultados, instala claves basadas en puntuaciones en los siguientes lugares de tu sitio web:

  • Formularios
  • Acciones (interacciones del usuario)
  • En segundo plano de todas las páginas web

Las claves basadas en la puntuación no interrumpen a los usuarios, por lo que puedes ejecutar reCAPTCHA con claves basadas en la puntuación siempre que sea necesario sin afectar la conversión.

Integra la clave en el frontend

Según dónde desees agregar la verificación de reCAPTCHA, elige la opción adecuada:

Puedes ver un ejemplo de cada opción en el código fuente del sitio web de demostración.

Cómo agregar la verificación en una interacción del usuario

  1. Para cargar reCAPTCHA en tu página web, agrega la API de JavaScript con la clave basada en la puntuación dentro del elemento <head></head> de la página.

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

    De forma predeterminada, reCAPTCHA usa el idioma del navegador. Si deseas especificar otro idioma, usa el atributo hl=LANG en tu secuencia de comandos. Por ejemplo, para usar francés, especifica lo siguiente: <script src="https://www.google.com/recaptcha/enterprise.js?hl=fr"></script>. Para obtener más información sobre los idiomas compatibles, consulta los códigos de idioma de reCAPTCHA.

    Si deseas especificar una ubicación para la insignia, usa badge=LOCATION como parámetro de consulta en la etiqueta de la secuencia de comandos. Por ejemplo, www.google.com/recaptcha/enterprise.js?sitekey=KEY_ID&badge=bottomleft De forma predeterminada, la ubicación se establece en bottomright. Los otros valores posibles son inline y bottomleft.

  2. Para agregar la verificación de reCAPTCHA a la interacción de un usuario, haz lo siguiente:

    1. Para asegurarte de que grecaptcha.enterprise.execute() se ejecute después de que se cargue la biblioteca de reCAPTCHA, usa grecaptcha.enterprise.ready().

    2. Llama a grecaptcha.enterprise.execute() en cada interacción que desees proteger con tu clave basada en la puntuación. Especifica un nombre significativo para una interacción del usuario en el parámetro action. Para obtener más información, consulta Acciones.

      En el siguiente ejemplo, se muestra cómo llamar a grecaptcha.enterprise.execute() en una acción de acceso:

      <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-enterprise/docs/create-assessment
        });
      }
      </script>
      

      grecaptcha.enterprise.execute() genera un token como se muestra en el siguiente ejemplo:

      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. Después de generar el token, envía el token de reCAPTCHA a tu backend y crea una evaluación en un plazo de dos minutos.

    En el caso de las integraciones de WAF, si integras una clave de token de acción, debes adjuntar el token a un encabezado de solicitud predefinido y no es necesario crear una evaluación. Para obtener más información, consulta Implementa tokens de acción de reCAPTCHA.

Agrega reCAPTCHA en un botón HTML

  1. Para cargar reCAPTCHA en tu página web, agrega la API de JavaScript con la clave basada en la puntuación dentro del elemento <head></head> de la página.

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

    De forma predeterminada, reCAPTCHA usa el idioma del navegador. Si deseas especificar otro idioma, usa el atributo hl=LANG en tu secuencia de comandos. Por ejemplo, para usar francés, especifica lo siguiente: <script src="https://www.google.com/recaptcha/enterprise.js?hl=fr"></script>. Para obtener más información sobre los idiomas compatibles, consulta los códigos de idioma de reCAPTCHA.

  2. Para agregar reCAPTCHA en un botón HTML simple, haz lo siguiente:

    1. Define una función de devolución de llamada para controlar el token.

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

      Para obtener más información, consulta la sección sobre el método requestSubmit().

    2. Agrega atributos al botón HTML.

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

      Si deseas especificar una ubicación para la insignia, usa el atributo data-badge=LOCATION en el elemento que tiene class=g-recaptcha. De forma predeterminada, la ubicación se establece en bottomright. Los otros valores posibles son inline y bottomleft.

    3. Cuando se usa este botón para enviar un formulario en tu sitio, el parámetro POST g-recaptcha-response contiene el token de respuesta.

  3. Después de generar el token, envía el token de reCAPTCHA a tu backend y crea una evaluación en un plazo de dos minutos.

    En el caso de las integraciones de WAF, si integras una clave de token de acción, debes adjuntar el token a un encabezado de solicitud predefinido y no es necesario crear una evaluación. Para obtener más información, consulta Implementa tokens de acción de reCAPTCHA.

¿Qué sigue?