滑块验证(滑动验证)

文章目录

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

基本原理

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

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

工作流程

用户视角:

  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}

相关推荐
liangshiwei11 小时前
ABP x Vue:介绍 ABP Vue UI
vue·abp
frjc2 天前
前端技术选型:主流方案对比与落地建议
vue·react·angular
ss2732 天前
AI全栈实战 | 2.3-01 组件库实战:Element Plus 怎么搭出专业界面,过度封装为什么成维护负担
前端·javascript·elementui·vue
zzZ··*4 天前
CodeBuddy 用量看板:本地解析 Token 与积分消耗,不联网不上传
python·vue·ai编程
EatFan4 天前
Go语言全栈实战:基于 Gin + Vue + JWT + RBAC 从零搭建前后端分离权限管理系统
vue.js·golang·go·vue·gin·jwt·rbac
就叫年华吧丶5 天前
长文档点目录定位总是不准?一个 content-visibility + 平滑滚动引发的连环坑(Vue3 实战)
前端·javascript·算法·vue
今年下半年7 天前
【VUE3】移动端:使用腾讯地图显示区域统计与放大显示资产点位
javascript·前端框架·vue·地图
志尊宝7 天前
Vue3 零基础每日笔记(054):Pinia 三件套详解——state / getters / actions 全搞懂
前端·javascript·vue.js·vue·前端开发
志尊宝13 天前
Vue3 零基础每日笔记(055):组件里正确使用 store——storeToRefs 解构与 $patch 批量修改
笔记·vue·html·前端开发·软件开发
yzy8513 天前
Vue中下载或打开文件的JavaScript方法
前端·javascript·vue