滑块验证(滑动验证)

文章目录

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

基本原理

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

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

工作流程

用户视角:

  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}

相关推荐
尾善爱看海3 天前
Vue 面试进阶篇:Composition API、插槽、自定义指令……8 个章节 + 高频面试题全解析
前端·javascript·vue.js·面试·vue
明耀3 天前
vue chart 强行刷新高度,宽度
vue
YWL3 天前
OpenLayers弹窗Overlay深度实战
前端·vue·openlayers
YWL3 天前
OpenLayers+ECharts联动:地图点击联动图表,数据可视化大屏方案
前端·信息可视化·vue·echarts·openlayers
YWL4 天前
OpenLayers地图分享:URL参数同步+分享链接生成,让用户一键分享地图视角
前端·javascript·vue·openlayers
程序员蜡笔熊5 天前
Vite 8 换芯实测:Rolldown 替掉双引擎,构建快 3.19 倍
前端·javascript·vue
YWL6 天前
OpenLayers导出功能:地图截图+GeoJSON导出完整方案,从Canvas合并到PDF生成
前端·vue·openlayers
上单带刀不带妹6 天前
小程序图片缓存问题:时间戳和版本号解决图片不更新
缓存·小程序·vue·uniapp
wxwx_bscxy3226 天前
NodeJS 高校学业预警系统10551
mysql·node.js·vue·高校学业预警
爱折腾的编程老炮7 天前
潮玩品牌自建抽盒机小程序——商城 + 抽盒 + 一番赏 + 会员 + 社区,一套代码怎么搭
spring boot·小程序·vue·mybatis·uniapp