reCAPTCHA--隐藏式人机校验

105 阅读1分钟

在登录的过程中,人机校验一般都是绕不过去的问题,这次就记录一个非常简便的人机校验——reCAPTCHA。

注册项目和apikey

www.google.com/recaptcha/a…

使用--onload 回调后显式渲染

<html>
  <head>
    <title>reCAPTCHA demo: Explicit render after an onload callback</title>
    <script>
        var onSubmit = function(token) {
          console.log('success!');
        };

        var onloadCallback = function() {
        // submit是元素的id,需要直接指定某个element
          grecaptcha.render('submit', {
            'sitekey' : 'your_site_key',
            'callback' : onSubmit
          });
        };
    </script>
  </head>
  <body>
    <button id="submit"></button>
    <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit"
        async defer>
    </script>
  </body>
</html>

此时点击button就可以在onSubmit获取token,将token发给后端校验就行

注意点

在配置reCAPTCHA时,需要配置限定域名,如果不配,token获取不到。