- 前端引入 gt4.js 库
在前端页面中,引入 gt4.js 库,这个库通过向页面插入交互式验证码来防止机器人攻击和恶意行为。可以通过 CDN 或者下载到本地引入 gt4.js 库,具体可以参考官网的文档:docs.geetest.com/gt4/get-sta….
import '@/utils/gt4.js'
- 前端生成验证码
在页面中使用 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()
})
}
)
})
}
- 前端与后端通信
当用户提交表单时,前端会将用户填写的验证码和其他数据一起发送到后端,后端收到请求后会先验证验证码的正确性,若验证码验证通过,才会继续验证其他数据并进行后续处理。
- 后端进行验证
后端接收到前端发来的验证码、用户输入的数据等信息后,需要完成验证码的解析和验证,并根据验证结果进一步进行处理。验证码的解析和验证一般依赖后端设置的相应 SDK,官方提供了多种语言的 SDK,可根据后端开发语言进行选择和使用。根据验证结果,后端可以直接返回验证结果或者进行相应的处理后再返回结果。