前后端怎么做极验(滑块验证)

850 阅读1分钟
  1. 前端引入 gt4.js 库

在前端页面中,引入 gt4.js 库,这个库通过向页面插入交互式验证码来防止机器人攻击和恶意行为。可以通过 CDN 或者下载到本地引入 gt4.js 库,具体可以参考官网的文档:docs.geetest.com/gt4/get-sta….

import '@/utils/gt4.js'
  1. 前端生成验证码

在页面中使用 gt4.js 库生成验证码,调用 gt4.js 提供的方法,这些方法会生成一个验证码对象和相应的验证结果。在用户交互后,可以获取验证码对象的结果传输到后端验证,具体可以参考官网的文档:docs.geetest.com/gt4/get-sta….

//极验
export const getCaptcha = (time) => {
  return new Promise((resolve, reject) => {
    initGeetest4(
      {
        captchaId: 'xxxxxxxxx',
        product: 'xxxxxxxx',
      },
      (captchaObj) => {
        captchaObj
          .onReady(() => {
            captchaObj.showCaptcha() //显示验证码
          })
          .onSuccess(() => {
            let result = captchaObj.getValidate()
            resolve(result)
          })
          .onClose(() => {
            reject()
          })
          .onError(function () {
            reject()
          })
      }
    )
  })
}
  1. 前端与后端通信

当用户提交表单时,前端会将用户填写的验证码和其他数据一起发送到后端,后端收到请求后会先验证验证码的正确性,若验证码验证通过,才会继续验证其他数据并进行后续处理。

  1. 后端进行验证

后端接收到前端发来的验证码、用户输入的数据等信息后,需要完成验证码的解析和验证,并根据验证结果进一步进行处理。验证码的解析和验证一般依赖后端设置的相应 SDK,官方提供了多种语言的 SDK,可根据后端开发语言进行选择和使用。根据验证结果,后端可以直接返回验证结果或者进行相应的处理后再返回结果。