滑块验证(滑动验证)

文章目录

属于基本知识点了,这里也记录一下。

基本原理

前后端都需要,简单说就是后端生成图片及缺口,前段拖动后将坐标信息传给后端,验证坐标是否正确。

当然,生产中不仅仅是坐标这一个维度,还有速度,鼠标抖动等防机器人等措施。

工作流程

用户视角:

  1. 页面加载 → 看到背景图(带缺口)和滑块
  2. 拖动滑块 → 滑块跟随鼠标移动
  3. 释放滑块 → 前端发送拖动距离给后端
  4. 等待结果 → 后端验证并返回成功/失败

系统视角:

  1. 后端生成 → 创建背景图+缺口+滑块图
  2. 前端展示 → 显示图片,监听拖动
  3. 数据验证 → 比对用户拖动距离与真实缺口位置
  4. 返回结果 → 告诉前端验证是否通过

前后端职责

后端职责:

✅ 生成验证码图片

✅ 保存正确答案(correct_x)

✅ 验证用户提交的答案

✅ 不暴露正确答案给前端

前端职责:

✅ 展示验证码图片

✅ 监听用户交互(鼠标/触摸)

✅ 计算拖动距离

✅ 发送验证请求

数据流转

前端请求 → GET /api/captcha/init

后端生成 → {background, slider, captcha_id, y_position}

前端展示 → 显示图片,用户拖动

前端提交 → POST /api/captcha/verify {captcha_id, distance}

后端验证 → 比对 distance 与 correct_x

返回结果 → {success: true/false}

相关推荐
天丁o1 小时前
我把一套 Flowable + Spring Boot + Vue 的 BPM 流程引擎整理开源了:从流程设计器到待办闭环
spring boot·vue·工作流引擎·flowable·bpm流程引擎·流程审批
弹简特1 小时前
【Vue3速成】05-vue3官方库路由机制之路由守卫
vue·路由
小堂子这厢有礼了14 小时前
Chet.Admin 模块详解⑥:字典管理 + useDict 联动表单
vue·后台管理系统·vbenadmin·chet.admin
猫猫不是喵喵.20 小时前
Vue3 hooks 函数
vue
Pu_Nine_93 天前
Vue3+TS+Express 转 Nuxt4 全栈开发笔记(Drizzle ORM + MySQL)
前端·vue·express·nuxt.js·全栈框架
脾气有点小暴4 天前
ECharts 伪 3D 柱状图完整注释 + 实现原理说明
前端·3d·信息可视化·vue·echarts
sugar__salt4 天前
Vue3 核心特性深度解析:v-model、ref 属性与 nextTick 完全指南
前端·javascript·vue.js·前端框架·vue
勇往直前plus5 天前
Vue3(篇四)单页面应用到路由管理
javascript·typescript·前端框架·vue
勇往直前plus5 天前
Vue3(篇三) Element Plus
前端·javascript·typescript·vue
shawxlee6 天前
vue3+axios挑战最简洁实用的配置封装+接口调用:请求拦截器、响应拦截器、通用请求方法(单个请求/并发请求/下载文件)、统一接口管理
前端·经验分享·vue·接口·axios·api