当前位置:首页 > 实用技巧 >

手机上怎么完成滑动式网页验证(网页滑动验证在手机上怎么滑动)

来源:原点资讯(www.yd166.com)时间:2023-11-22 22:38:51作者:YD166手机阅读>>

LazySlideCaptcha介绍

LazySlideCaptcha是基于.Net Standard 2.1的滑动验证码模块。
项目同时提供一个基于vue2的演示前端组件和背景图裁剪工具。
图形验证码请移步lazy-captcha。

在线体验

手机上怎么完成滑动式网页验证,网页滑动验证在手机上怎么滑动(1)

快速开始
  1. 安装
  • Package Manager

Install-Package Lazy.SlideCaptcha.Core

  • .NET CLI

dotnet add package Lazy.SlideCaptcha.Core

  1. 注册并配置服务

builder.Services.AddSlideCaptcha(builder.Configuration); // 如果使用redis分布式缓存 //builder.Services.AddStackExchangeRedisCache(options => //{ // options.Configuration = builder.Configuration.GetConnectionString("RedisCache"); // options.InstanceName = "captcha:"; //});

"CaptchaSlideOptions": { "Backgrounds": [ { "Type": "file", "Data": "wwwroot/images/background/1.jpg" }, { "Type": "file", "Data": "wwwroot/images/background/2.jpg" } ] }

背景图片要求尺寸要求为 552 X 344 , 快速开始可在 Demo 项目 wwwroot/images/background 下挑选。(仅用作演示,生产请自行制作。)也可以通过裁剪工具制作,非常简单,上传图片,拖动范围后保存自动生成 552 X 344 图片。

  1. 接口定义

[Route("api/[controller]")] [ApiController] public class CaptchaController : ControllerBase { private readonly ICaptcha _captcha; public CaptchaController(ICaptcha captcha) { _captcha = captcha; } /// <summary> /// id /// </summary> /// <param name="id"></param> /// <returns></returns> [Route("gen")] [HttpGet] public CaptchaData Generate() { return _captcha.Generate(); } /// <summary> /// id /// </summary> /// <param name="id"></param> /// <returns></returns> [Route("check")] [HttpPost] public bool Validate([FromQuery]string id, SlideTrack track) { return _captcha.Validate(id, track); } }

至此后端Api服务已搭建完成。

  1. 前端
    前端提供演示组件lazy-slide-captcha,可通过npm安装。Demo项目为了演示方便直接采用script直接引入方式。

@{ ViewData["Title"] = "滑动验证码"; } <link rel="stylesheet" href="~/lib/lazy-slide-captcha/dist/lazy-slide-captcha.css" asp-append-version="true" /> <style> #app { display: flex; align-items: center; justify-content: center; } .panel { padding: 20px; box-shadow: inherit; border-radius: 6px; box-shadow: 0 0 4px 0 #999999; margin-top: 100px; } </style> <div id="app"> <div class="panel"> <lazy-slide-captcha ref="captcha" :width="width" :height="height" :show-refresh="true" :fail-tip="failTip" :success-tip="successTip" @@finish="handleFinish" @@refresh="generate"></lazy-slide-captcha> </div> </div> @section Scripts{ <script src="~/lib/vue/vue.min.js"></script> <script src="~/lib/vue/axios.min.js"></script> <script src="~/lib/lazy-slide-captcha/dist/lazy-slide-captcha.umd.js"></script> <script> var app = new Vue({ el: '#app', data(){ return { requestId: undefined, failTip: '', successTip: '', // width,height保持与552 * 344同比例即可 width: 340, height: 212 } }, mounted(){ this.generate() }, methods:{ generate(){ // 改变内部状态,标识生成请求开始 this.$refs.captcha.startRequestGenerate() axios.get('/api/captcha/gen') .then((response) => { this.requestId = response.data.id // 改变内部状态,标识生成请求结束,同时设定background,slider图像 this.$refs.captcha.endRequestGenerate(response.data.backgroundImage, response.data.sliderImage) }) .catch((error) => { console.log(error); // 标识生成请求结束 this.$refs.captcha.endRequestGenerate(null, null) }); }, handleFinish(data){ // 改变内部状态,标识验证请求开始 this.$refs.captcha.startRequestVerify() axios.post(`/api/captcha/check?id=${this.requestId}`, data) .then((response) => { let success = response.data.result === 0 // 验证失败时显示信息 this.failTip = response.data.result == 1 ? '验证未通过,拖动滑块将悬浮图像正确合并' : '验证超时, 请重新操作' // 验证通过时显示信息 this.successTip = '验证通过,超过80%用户' // 改变内部状态,标识验证请求结束,同时设定是否成功状态 this.$refs.captcha.endRequestVerify(success) if(!success){ setTimeout(() => { this.generate() }, 1000) } }) .catch((error) => { console.log(error); this.failTip = '服务异常,请稍后重试' // 标识验证请求结束 this.$refs.captcha.endRequestVerify(false) }); } } }); </script> } 配置说明

支持配置文件和代码配置,同时配置则代码配置覆盖配置文件。

  • 配置文件

"CaptchaSlideOptions": { "ExpirySeconds": 60, // 缓存过期时长 "StoreageKeyPrefix": "", // 缓存前缀 "Tolerant": 0.02, // 容错值(校验时用,缺口位置与实际滑动位置匹配容错范围) "Backgrounds": [ // 背景图配置 { "Type": "file", "Data": "wwwroot/images/background/1.jpg" } ], // Templates不配置,则使用默认模板 "Templates": [ { "Slider": { "Type": "file", "Data": "wwwroot/images/template/1/slider.png" }, "Hole": { "Type": "file", "Data": "wwwroot/images/template/1/hole.png" } } ] }

  • 代码配置

builder.Services.AddSlideCaptcha(builder.Configuration, options => { options.Tolerant = 0.02f; options.StoreageKeyPrefix = "slider-captcha"; options.Backgrounds.Add(new Resource(FileResourceHandler.TYPE, @"wwwroot/images/background/1.jpg")); options.Templates.Add ( TemplatePair.Create ( new Resource(FileResourceHandler.TYPE, @"wwwroot/images/template/1/slider.png"), new Resource(FileResourceHandler.TYPE, @"wwwroot/images/template/1/hole.png") ) ); }); 扩展

  1. Template自定义
    Template 是指用于生成凹槽和拖块的图片,可通过Templates配置节点设置设置自定义Template。 默认五个 Template (不要配置,已经包含在类库内部)如下:

slider

hole

slider

hole

手机上怎么完成滑动式网页验证,网页滑动验证在手机上怎么滑动(2)

手机上怎么完成滑动式网页验证,网页滑动验证在手机上怎么滑动(3)

手机上怎么完成滑动式网页验证,网页滑动验证在手机上怎么滑动(4)

首页 123下一页

栏目热文

手机登录网站不能滑动验证(手机登录网页版 怎么向左滑动验证)

手机登录网站不能滑动验证(手机登录网页版 怎么向左滑动验证)

近期平台上线了对四人赛随机进行账号滑动验证的规则。对于净化学习环境、打击外挂、整治学习秩序、打击投机取巧的人来说,确实是...

2023-11-22 21:58:07查看全文 >>

手机网页验证怎么滑动(手机网页滑块验证拖动不了怎么办)

手机网页验证怎么滑动(手机网页滑块验证拖动不了怎么办)

你知道吗,每年都要进行养老金认证,才能保证养老金的正常发放。但是,有些人可能因为年纪大、身体不便、住在农村等原因,不方便...

2023-11-22 22:20:33查看全文 >>

手机登录网站不能滑动验证怎么办(登录网站不能滑动验证怎么办)

手机登录网站不能滑动验证怎么办(登录网站不能滑动验证怎么办)

导读:滑块验证是一种极验类型,用于用户登录时人机识别。该方式相比较于图形验证码、滑动拼图验证、点选验证等验证方式,操作成...

2023-11-22 22:18:50查看全文 >>

鹌鹑蛋的皮为什么有白有黑(鹌鹑蛋为什么有透明的也有白色的)

鹌鹑蛋的皮为什么有白有黑(鹌鹑蛋为什么有透明的也有白色的)

引导语话说:“要吃飞禽,鸽子鹌鹑。”鹌鹑肉、蛋,味道鲜美,营养丰富。鹌鹑蛋是一种很好的滋补品,在营养上有独特之处,故有 ...

2023-11-22 22:32:23查看全文 >>

鹌鹑蛋如何看新鲜还是不新鲜(鹌鹑蛋新鲜不新鲜怎么判断)

鹌鹑蛋如何看新鲜还是不新鲜(鹌鹑蛋新鲜不新鲜怎么判断)

如何挑选鹌鹑蛋新鲜鹌鹑蛋的外壳颜色呈灰白色,分布着大小不一的褐色斑块,并且富有光泽感。仔细观察表面,上面有些细小的孔。如...

2023-11-22 22:12:25查看全文 >>

网站滑动验证滑不了怎么办(网页验证码无法滑动)

网站滑动验证滑不了怎么办(网页验证码无法滑动)

IT之家 7 月 28 日消息,网友 NIVEA_GeForce 近日在 Reddit 社区发帖,表示 Microsof...

2023-11-22 22:05:38查看全文 >>

手机网页认证滑动不了(手机网页登录验证滑块显示不完整)

手机网页认证滑动不了(手机网页登录验证滑块显示不完整)

大家好,我是公众号3分钟学堂的郭立员~这是一篇分析类型的文章,主要讲关于滑块滑动的问题,大家应该遇到过这么一种情况,用脚...

2023-11-22 22:22:17查看全文 >>

手机网页中滑动验证怎么操作(手机网页滑动验证整个屏都跟着动)

手机网页中滑动验证怎么操作(手机网页滑动验证整个屏都跟着动)

前言图形验证码是一种很常见的行为验证码,其中滑动拼图,用户只需要轻轻滑动滑块填充拼图,即可完成安全验证。通常包括嵌入式、...

2023-11-22 22:07:42查看全文 >>

手机登录网页需要滑动验证(手机网页中滑动验证怎么操作)

手机登录网页需要滑动验证(手机网页中滑动验证怎么操作)

编辑导语:在很多时候我们都会遇到登录的情景,不同的产品也会使用不同的登录验证方式,比如常见的短信验证、拖动滑块验证等等,...

2023-11-22 22:09:54查看全文 >>

网页上的滑动验证码很难滑(浏览器不能滑动验证码)

网页上的滑动验证码很难滑(浏览器不能滑动验证码)

滑动验证码曾风靡一时,出现在各个应用场景中,最普及的应用场景也就是手机滑动解锁了。其实不管是滑动验证码,还是图形验证码,...

2023-11-22 22:04:44查看全文 >>