返回顶部
首页 > 资讯 > 后端开发 > Python >Java实现滑动验证码(前端部分)
  • 312
分享到

Java实现滑动验证码(前端部分)

Java滑动验证码Java 验证码 2022-11-13 18:11:52 312人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录实现思路实现代码实现结果实现思路 1、请求后端获得背景图、滑块、x、y、误差范围bound 2、将滑块设置到对应的位置:top = y 3、添加鼠标滑动事件 实现代码 后端请求(

实现思路

1、请求后端获得背景图、滑块、x、y、误差范围bound

2、将滑块设置到对应的位置:top = y

3、添加鼠标滑动事件

实现代码

后端请求(Controller)

SliderVerifyController


@RestController
@RequestMapping("/sliderVerify")
public class SliderVerifyController {
    @Resource
    private SliderVerifyService sliderVerifyService;

    @GetMapping
    public ResponseResult generateSliderVerify() {

        return sliderVerifyService.generateSliderVerify();
    }
}

SliderVerifyServiceImpl


@Service
public class SliderVerifyServiceImpl implements SliderVerifyService {

    @Value("${my.staticPath}")
    private String path;
    @Override
    public ResponseResult generateSliderVerify() {
        int index = new Random().nextInt(5) + 1;

        ImageSlideVerify slideVerify = ImageSlideVerifyUtil.cutting(
                new File(System.getProperty("user.dir") + "/WEB_component/src/main/resources/static/sliderVerify/" + index + ".png"));
        return new ResponseResult<>(200, slideVerify);
    }
}

html代码

<!DOCTYPE html>
<html lang="zh">
<head>
	<meta charset="UTF-8">
	<meta Http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>滑动验证码</title>
</head>
<body>
	<div id="box">
		<div id="content">
			<img id="bg" src="bg.png" />
			<img id="block" src="b.png"/>
		</div>
		<!-- 滑块 -->
		<div id="slider">
			<div id="slider-block">
				
			</div>
		</div>
	</div>
</body>
<script>
	let blockImg = document.querySelector("#block");// 滑块
	let bgImg = document.querySelector("#bg");// 背景
	let sliderBlock = document.querySelector("#slider-block");// 滑动栏的滑块
	function sliderVerify(callback){
		// 获取验证码信息
		const xhr = new XMLHttpRequest();
		xhr.open("get", "http://localhost:8080/sliderVerify", true);
		xhr.send();
		xhr.onreadystatechange = function(){
			if(this.readyState == 4 && this.status == 200){
				let data = JSON.parse(this.response).data;
				blockImg.src = data.blockImg;
				bgImg.src = data.bgImg;
				blockImg.style.top = data.y + 80 + "px";
				callback && callback(data); // 回调函数
			}
		}
	}
	// 执行
	sliderVerify(function (data) {
		// 添加鼠标事件
		sliderBlock.addEventListener("mousedown", (e1) => {
			const x = e1.x;
			window.onmousemove = function(e) {
				let left = e.x - x;
				// 设置边界,因为我的图片大小都是固定425,所以我直接固定
				if(e1.target.offsetLeft >= 425){
					sliderBlock.style.left = 425 + "px";
					blockImg.style.left = 425 - 20 + "px";
					return;
				}
				// 移动
				sliderBlock.style.left = left + "px";
				blockImg.style.left = left - 20 + "px";
			}
			// 鼠标释放
			window.onmouseup = function(e){
				// 获取滑动到的位置
				let left = sliderBlock.style.left.split("px")[0];
				// 减去80内边距并转成数字
				left = Number(left) - 80;
				// 清空鼠标滑动事件
				window.onmousemove = null;
				// 回到初始位置
				sliderBlock.style.left = 0 + "px";
				blockImg.style.left = 0 - 20 + "px";
				// 判断是否在范围内
				if(left >= data.x - data.bound && left <= data.x + data.bound){
					alert("验证成功");
				} else {
					alert("验证错误")
					window.location.reload()
				}
			}
		})
	});
</script>
<style>
	#content{
		user-select: none;
		position: relative;
		padding: 80px;
		padding-bottom: 0;
	}
	#block{
		position: absolute;
		
		left: -20px;
	}
	#slider{
		position: relative;
		display: flex;
		align-items: center;
		box-sizing: border-box;
		width: 505px;
		height: 50px;
		padding: 0 2px;
		border: 3px groove ;
	}
	#slider-block{
		position: relative;
		width: 70px;
		height: 40px;
		background-color: antiquewhite;
	}
</style>
</html>

实现结果

Java后端代码

到此这篇关于Java实现滑动验证码(前端部分)的文章就介绍到这了,更多相关Java滑动验证码内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java实现滑动验证码(前端部分)

本文链接: https://lsjlt.com/news/170277.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java实现滑动验证码(前端部分)
    目录实现思路实现代码实现结果实现思路 1、请求后端获得背景图、滑块、x、y、误差范围bound 2、将滑块设置到对应的位置:top = y 3、添加鼠标滑动事件 实现代码 后端请求(...
    99+
    2022-11-13
    Java滑动验证码 Java 验证码
  • JavaScript+html实现前端页面滑动验证
    本文实例为大家分享了JavaScript+html实现前端页面滑动验证的具体代码,供大家参考,具体内容如下 分享炫酷的前端页面滑动验证 直接上代码 <%@ page con...
    99+
    2024-04-02
  • Java如何实现滑动验证码
    小编给大家分享一下Java如何实现滑动验证码,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!功能:java实现滑动验证码项目是采用springboot,maven开发工具:采用idea1.效果演示2.后端代码控制层@Cont...
    99+
    2023-06-29
  • JavaScript+html实现前端页面滑动验证(2)
    本文实例为大家分享了炫酷的前端页面滑动验证的具体代码,供大家参考,具体内容如下 分享炫酷的前端页面滑动验证 前面已经发过一种,这里再发一种,只是特效不一样 还是直接上代码: &l...
    99+
    2024-04-02
  • Java实现滑动验证码生成(后端工具类)
    目录一、滑动验证码生成思路二、主要方法三、生成代码四、测试结果一、滑动验证码生成思路 1、随机选择一张图片 2、生成滑块起点位置(x, y) 3、生成滑块轮廓 4、抠出滑块 5、将滑...
    99+
    2022-11-13
    Java滑动验证码 Java 验证码
  • Java实现滑动验证码的示例代码
    目录1.效果演示2.后端代码控制层工具类3.前端页面功能:java实现滑动验证码 项目是采用springboot,maven 开发工具:采用idea 1.效果演示 2.后端代码...
    99+
    2024-04-02
  • .NET如何实现滑动验证码
    本篇内容介绍了“.NET如何实现滑动验证码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!CaptchaData.csCaptchaData....
    99+
    2023-07-04
  • Java实现滑块拼图验证码
    本文实例为大家分享了Java实现滑块拼图验证码的具体代码,供大家参考,具体内容如下 1、后端随机生成抠图和带有抠图阴影的背景图片,后台保存随机抠图位置坐标 2、前端实现滑动交互,将抠...
    99+
    2024-04-02
  • SpringBoot前后端分离实现验证码操作
    目录1.SpringBoot版本2.引入依赖3.实现思路新建验证码枚举类定义验证码配置信息定义验证逻辑生成类在控制层上定义验证码生成接口效果体验在前端调用接口1.SpringBoot...
    99+
    2024-04-02
  • thinkphp怎么实现前后端分离验证码
    这篇文章主要介绍了thinkphp怎么实现前后端分离验证码的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇thinkphp怎么实现前后端分离验证码文章都会有所收获,下面我们一起来看看吧。一、验证码的作用在互联网时...
    99+
    2023-07-06
  • C#滑动验证码拼图验证功能实现(SlideCaptcha)
    目录使用背景:实现分析:后端代码:准备:使用:前端代码:结语:使用背景: 关于滑动验证码的使用场所还是非常多的,如:调取短信接口之前,和 注册请求之前 或者 频繁会调用的接口都需要加...
    99+
    2024-04-02
  • Flutter实现滑动块验证码功能
    Flutter实现滑动块验证码功能,供大家参考,具体内容如下 本文实现的是一个用于登录时,向右滑动滑动块到最右边完成验证的一个功能。当滑动未到最右边时,滑动块回弹回左边起始位置。 ...
    99+
    2024-04-02
  • vue实现滑动验证条
    本文实例为大家分享了vue实现滑动验证条的具体代码,供大家参考,具体内容如下 效果 代码 VerifySlider.vue <template>   <div ...
    99+
    2024-04-02
  • JavaScript实现滑块验证码
    本文实例为大家分享了JavaScript实现滑块验证码的具体代码,供大家参考,具体内容如下 效果:鼠标在底部滑块上按下按住不松拖动可以移动滑块,上面大图里面带有小图背景的滑块也会跟随...
    99+
    2024-04-02
  • Java selenium处理极验滑动验证码示例
    要爬取一个网站遇到了极验的验证码,这周都在想着怎么破解这个,网上搜了好多知乎上看到有人问了这问题,我按照这思路去大概实现了一下。1.使用htmlunit(这种方式我没成功,模拟鼠标拖拽后轨迹没生成,可以跳过)我用的是java,我首先先想到了...
    99+
    2023-05-31
    java selenium ava
  • Vue实现滑动验证功能
    用Vue实现滑动验证码,鼠标点击滑动验证,验证成功之后会显示验证通过。 程序分析 1、鼠标的点击2、滑块的拖动3、未验证之前滑动条上显示的文字4、滑块箭头指向Vue函数5、判断是否拖...
    99+
    2024-04-02
  • vue实现移动滑块验证
    本文实例为大家分享了vue实现移动滑块验证的具体代码,供大家参考,具体内容如下 记录一下今天的学习内容 <div class="solidBox" :class="{'so...
    99+
    2024-04-02
  • vue实现图片滑动验证
    本文实例为大家分享了vue实现图片滑动验证的具体代码,供大家参考,具体内容如下 效果图: 1、引用自定义组件 import img0 from '../assets/img.jpg...
    99+
    2024-04-02
  • JS实现拖动滑块验证
    使用这种验证方法的目的:证明当前的用户不是机器人~防止恶意操作。 实现思路: 1、获取silde滑块(获取元素) 2、为元素注册事件———鼠标点击...
    99+
    2024-04-02
  • canvas如何实现滑动验证
    小编给大家分享一下canvas如何实现滑动验证,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!突然想到的方法,来试试吧页面布局<canvas id=...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作