滑块验证(滑动验证)

文章目录

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

基本原理

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

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

工作流程

用户视角:

  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}

相关推荐
宠友信息2 小时前
IM系统开发技术路线分析,即时通讯源码助力快速搭建聊天应用
java·spring boot·redis·websocket·mysql·uni-app·vue
新中地GIS开发老师1 天前
WebGIS开发学生作品 | 基于无人机影像的烟草检测智能体与数字化管理平台
vue·web·mapbox·webgis
南城以南溫暖如初1472 天前
外卖CPS实战指南:从技术选型到运营落地全流程解析
java·spring boot·mysql·架构·vue
aXin_ya2 天前
ElementUI (01):Vue2 项目引入 ElementUI使用
elementui·vue
常宇佳3 天前
vue3 @代指src路径设置
前端·typescript·vue
北城笑笑3 天前
Server 18 ,Nginx + Vite 前端部署排错实战:从 `/api/gpt/chat` 404 到 9012 后端服务的完整定位过程
linux·运维·前端·nginx·ubuntu·vue
小强库计算机毕业设计7 天前
SpringBoot+Vue3 学生宿舍管理系统实战
java·spring boot·后端·vue·学生宿舍管理系统
TELL5219 天前
vue前端架构
vue
南城以南溫暖如初1479 天前
社区健身小程序开发流程详解:技术选型与实施经验分享
java·经验分享·spring boot·mysql·vue·apache
万亿少女的梦1689 天前
基于Spring Boot、Vue与MySQL的私人健身教练预约管理系统设计
java·spring boot·mysql·vue·预约管理