在网站上安装基于得分的网站密钥(无挑战)

本页介绍了如何在您的网站上安装基于得分的网站密钥,而不会有任何挑战。通过基于得分的网站密钥,您可以在整个网站中添加 ReCAPTCHA Enterprise,而无需用户解决人机识别系统挑战。

安装基于得分的网站密钥后,它会为每个请求返回一个得分,而不会给用户造成负面影响。根据该得分,您可以了解用户互动产生的风险等级,并配置适当的响应。此外,基于得分的网站密钥还可以收集聊天机器人活动遥测数据,以便针对新的攻击或目标进行早期预警。

为了改进 reCAPTCHA Enterprise 的风险模型,我们建议您在您网站的每个页面上添加 ReCAPTCHA Enterprise,因为它有助于了解真实用户和聊天机器人在不同页面和操作之间转换的效果。

准备工作

  1. 选择在您的环境中设置 reCAPTCHA Enterprise 的最佳方法,并完成设置。

  2. 创建基于得分的网站密钥

将密钥放到您的网站上

当 reCAPTCHA Enterprise 具有与您的网站上的互动有关的上下文时,其效果最佳。reCAPTCHA Enterprise 会监控合法行为和滥用行为,以了解您网站上的互动情况。

为获得最佳效果,请在网站中的以下位置安装基于得分的网站密钥:

  • 表单
  • 操作(用户互动)
  • 在所有网页的背景中

基于得分的网站密钥不会中断用户,因此,您可以在不影响转化的情况下,使用基于得分的网站密钥运行 reCAPTCHA Enterprise。

将密钥与前端集成

  1. 要在网页上加载 reCAPTCHA Enterprise,请在网页的 <head></head> 元素中添加带有基于得分的网站密钥的 JavaScript API。
        <head>
        <script src="https://www.google.com/recaptcha/enterprise.js?render=site_key"></script>
        ....
        </head>
      
  2. 针对特定互动(例如按钮点击、多次互动)或在网页加载时添加 reCAPTCHA Enterprise 验证。

    指定 action 参数后,系统将启用以下功能:

    • 因为滥用行为可能会有所不同,需基于操作环境的进行自适应风险分析。
    • 通过 Stackdriver 中的操作对得分指标进行过滤和分组。

    根据您希望添加 reCAPTCHA Enterprise 验证的位置,选择相应的选项:

    • 如果要对用户互动添加 reCAPTCHA Enterprise 验证,请执行以下操作

      1. 如需确保 grecaptcha.enterprise.execute() 会在 reCAPTCHA 库加载时运行,请使用 grecaptcha.enterprise.ready()

      2. 为基于分数的网站密钥来保护的每个交互调用 grecaptcha.enterprise.execute()。在 action 参数中为用户互动指定一个有意义的名称。如需更多指导,请参阅操作

        以下示例展示了如何对登录操作调用 grecaptcha.enterprise.execute()

           <script>
            function onClick(e) {
              e.preventDefault();
              grecaptcha.enterprise.ready(function() {
                grecaptcha.enterprise.execute('site_key', {action: 'LOGIN'}).then(function(token) {
                    // Add your logic to submit to your backend server here.
                });
              });
            }
           </script>
           

    • 如果要在网页加载时添加 reCAPTCHA Enterprise 验证,请执行以下操作

      1. 如需确保 grecaptcha.enterprise.execute() 会在 reCAPTCHA 库加载时运行,请使用 grecaptcha.enterprise.ready()

      2. 使用基于得分的网站密钥调用 grecaptcha.enterprise.execute(),并在 action 参数中为用户互动指定一个有意义的名称。如需更多指导,请参阅操作

        以下示例展示了如何在加载网页时调用 grecaptcha.enterprise.execute()

           <script  src="https://www.google.com/recaptcha/enterprise.js?render=site_key"></script>
           <script>
              grecaptcha.enterprise.ready(function() {
                  grecaptcha.enterprise.execute('site_key', {action: 'homepage'}).then(function(token) {
                     ...
                  });
              });
              </script>
            

    • 如果您想在简单的 HTML 按钮中添加 reCAPTCHA Enterprise,请执行以下操作

      1. 要处理令牌,请添加 callback() 函数。

            <script>
               function onSubmit(token) {
                 document.getElementById("demo-form").submit();
               }
             </script>
          

      2. 向您的 html 按钮添加属性。

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

  3. 生成令牌后,在两分钟内将 reCAPTCHA 令牌发送到后端以创建评估。

后续步骤