Java实现网页滑动验证与短信验证码案例精析

java实现滑动验证码 功能:java实现滑动验证码 项目是采用springboot,maven 开发工具:采用idea 1.效果演示: 2.后端代码: 控制层: @Controller public class SliderCodeController { @Autowired ResourceLoader resourceLoader; @Autowired private FileUtil fileUtil; // 设置横轴位置缓存 public 阅读详情

PC版滑动验证的实现

简介

滑动验证是基于人机识别技术开发的智能验证码产品。用户通过简单的右滑交互,无需思考即可通过验证。

资源引入说明

使用PC版滑动验证码,需要引入以下js资源,为保证服务功能最优,官方会定期迭代升级线上js资源,因此请避免使用本地文件导入js资源,以免后端版本更新而前端资源未更新造成冲突:

<!-- 国内使用 -->
<script type="text/javascript" charset="utf-8" src="//g.alicdn.com/sd/ncpc/nc.js?t=2015052012"></script>
<!-- 若您的主要用户来源于海外,请替换使用下面的js资源 -->
<!-- <script type="text/javascript" charset="utf-8" src="//aeis.alicdn.com/sd/ncpc/nc.js?t=2015052012"></script> -->

其中,t字段建议设置为小时级别时间戳,随时间更新,确保js不会被浏览器长时间缓存,这样能够享受到官方针对js的动态发布迭代。

完整接入demo

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <!-- 国内使用 -->
        <script type="text/javascript" charset="utf-8" src="//g.alicdn.com/sd/ncpc/nc.js?t=2015052012"></script>
         <!-- 若您的主要用户来源于海外,请替换使用下面的js资源 -->
        <!-- <script type="text/javascript" charset="utf-8" src="//aeis.alicdn.com/sd/ncpc/nc.js?t=2015052012"></script> -->
    </head>
    <body>
        <div id="your-dom-id" class="nc-container"></div> <!--No-Captcha渲染的位置,其中 class 中必须包含 nc-container-->
        <script type="text/javascript">
        var nc_token = ["CF_APP_1", (new Date()).getTime(), Math.random()].join(':');
        var NC_Opt = 
        {
            renderTo: "#your-dom-id",
            appkey: "CF_APP_1",
            scene: "register",
            token: nc_token,
            customWidth: 300,
            trans:{"key1":"code0"},
            elementID: ["usernameID"],
            is_Opt: 0,
            language: "cn",
            isEnabled: true,
            timeout: 3000,
            times:5,
            apimap: {
                // 'analyze': '//a.com/nocaptcha/analyze.jsonp',
                // 'get_captcha': '//b.com/get_captcha/ver3',
                // 'get_captcha': '//pin3.aliyun.com/get_captcha/ver3'
                // 'get_img': '//c.com/get_img',
                // 'checkcode': '//d.com/captcha/checkcode.jsonp',
                // 'umid_Url': '//e.com/security/umscript/3.2.1/um.js',
                // 'uab_Url': '//aeu.alicdn.com/js/uac/909.js',
                // 'umid_serUrl': 'https://g.com/service/um.json'
            },   
            callback: function (data) { 
                window.console && console.log(nc_token)
                window.console && console.log(data.csessionid)
                window.console && console.log(data.sig)
            }
        }
        var nc = new noCaptcha(NC_Opt)
        nc.upLang('cn', {
            _startTEXT: "请按住滑块,拖动到最右边",
            _yesTEXT: "验证通过",
            _error300: "哎呀,出错了,点击<a href=\"javascript:__nc.reset()\">刷新</a>再来一次",
            _errorNetwork: "网络不给力,请<a href=\"javascript:__nc.reset()\">点击刷新</a>",
        })
        </script>
    </body>
</html>

参数详细说明

参数 含义 是否必填
renderTo 声明滑动验证需要渲染的目标元素ID 是
appkey 应用标示。它和scene字段一起决定了滑动验证的业务场景与后端对应使用的策略模型。您可以从console的配置里找到它正确的值,请勿乱写 是
scene 场景标示。它和appkey字段一起决定了滑动验证的业务场景与后端对应使用的策略模型。您可以从console的配置里找到它正确的值,请勿乱写 是
token 滑动验证码的主键,请务必不需要写死固定值。请确保每个用户每次打开页面时,token都是不同的。建议格式为”您的appkey”+”时间戳”+”随机数” 是
customWidth 滑动条的长度,建议预留300像素以上 否
trans 业务键字段。您可以不写此字段,也可以按照下文中”问题排查与错误码”部分文档配置此字段,便于线上问题排查 否
elementID 通过Dom的ID属性自动填写trans业务键,您可以不写此字段,也可以按照下文中”问题排查与错误码”部分文档配置此字段,便于线上问题排查 否
is_Opt 是否自己配置底层采集组件。如无特殊场景请保持写0或不写此项。默认为0 否
isEnabled 是否启用,无特殊场景请默认写true。默认为true 否
timeout 内部网络请求的超时时间,一般不需要改,默认值为3000ms 否
times 允许服务器超时重复次数,默认5次 否
apimap 用于自己指定滑动验证各项请求的接口地址。如无特殊情况,请不要配置这里的apimap 否
callback 前端滑动验证通过时会触发此回调,您可以在这个回调中将token、sessionid、sig记录下来,随业务请求带到您的server端调用验签 是

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

方法详细说明

noCaptcha对象中维护了一些方法提供给您使用,您可以通过诸如var nc = new noCaptcha(NC

html+jQuery实现拖动滑块图片拼图验证码插件,移动端适用 电脑和手机移动端都适用的jQuery拖动滑块图片拼图验证码插件, 通过鼠标拖动或触屏滑动填充拼图来进行安全验证,点击刷新可以更换当前待验证的图片。 HTML & css: <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta ht... 阅读详情

相关推荐

selenium 成功绕过淘宝登录反爬机制

前言 selenium + webdriver 在登录淘宝时会出现反爬滑块,该滑块无论怎么滑也滑不成功,只会出现 哎呀,出错了,点击刷新再来一次 有两个问题存在,导致 selenium + webdriver 在登录时被检测出来 一:淘宝页面加载的JS中有检测selenium的,如下图: 二:window.navigator.webdriver的值为true 当我们正常打开chrome浏览器时window.navigator.webdriver的值是为undefined, 而通过chromedriv

吃货路飞的博客 1万+

基于Playwright与Node.js实现网页短信接口自动化抓取实战

网络请求拦截与自动化测试是Web开发与数据采集中的关键技术。其原理在于通过程序模拟浏览器行为,监听并分析HTTP/HTTPS请求与响应数据,从而实现对网页交互过程的深度洞察。这项技术的核心价值在于能够将繁琐、重复的手工操作转化为高效、精准的自动化流程,极大提升开发、测试与数据获取的效率。在应用场景上,它广泛用于接口测试、数据爬取、性能监控以及第三方服务集成等领域。本文聚焦于利用Playwright这一强大的浏览器自动化框架,结合Node.js环境,实战演示如何自动抓取网页中的短信验证码发送接口。通过模拟用户

weixin_34130389的博客 361

WebValidates验证码控件:从核心机制到安全集成的全链路实践

验证码作为区分人类用户与自动化程序的核心安全组件,其原理在于通过人机交互差异实现身份验证。从早期的静态图像验证到当前主流的行为式验证,技术不断演进以平衡安全性与用户体验。其技术价值在于有效防御爬虫、垃圾注册、撞库等自动化攻击,是Web应用安全的基石。在实际应用场景中,开发者常面临安全与体验的权衡挑战。本文聚焦于WebValidates这一综合验证码解决方案,深入解析其滑动拼图、点选文字等行为式验证机制,并结合**打码平台**对抗与**风险自适应验证**等热词,阐述如何从前端渲染、后端校验到高级风控策略进行全

weixin_30947043的博客 341

短信轰炸本质与四层防御体系:从接口滥用到行为建模

短信轰炸并非高深黑客技术,而是对合法短信发送接口的规模化滥用,其核心是通信链路中前端校验缺失、后端频控缺位与运营商通道机制断层三者叠加的结果。理解这一现象需回归基础:HTTP请求如何绕过Referer校验、SDK默认配置为何埋下隐患、SMPP协议在运营商网关侧的限频缺陷如何被精准规避。技术价值在于推动风控从‘IP+次数’粗粒度拦截,升级为设备指纹、行为时序、动态评分与通道分级的多维协同防御。典型应用场景覆盖电商注册、政务核验、金融登录等高频短信交互环节,本文聚焦真实链路还原与可落地的纵深防护方案。

weixin_28622215的博客 316

Spring Boot实现验证码功能全攻略:图形/短信/邮件验证码详解

验证码技术是区分人类用户与自动化程序的重要安全机制,主要包括图形、短信、邮件、行为验证等多种类型。在Spring Boot中实现验证码通常包含生成、存储和验证三个阶段,可通过Redis或Session存储验证码。图形验证码利用Java的java.awt和javax.imageio包生成,核心流程包括创建图像、绘制字符和干扰元素。为提高安全性,可采用字符扭曲、颜色渐变、背景噪点等增强措施。不同类型验证码各有优劣,需根据具体场景选择,如短信验证码安全性高但有成本,图形验证码简单但可能被OCR破解。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1610

若依集成腾讯滑块验证码

​腾讯云验证码是为网页、App 及小程序开发者提供的安全验证服务,目前网页及 App 支持以Web 前端接入、App 端接入(iOS 和 Android)方式接入验证码服务,小程序开发者可以使用小程序插件接入方式接入验证码服务,基于腾讯多年的大数据积累和人工智能决策引擎,构建智能分级验证模型,最大程度保护业务安全的同时,提供更精细化的用户体验。 ​腾讯防水墙官网地址:在线体验 - 腾讯防水墙_专业的业务安全解决方案 目录 一、前端HTML代码 二、腾讯滑块验证码判断工具类 ...

猿小白的博客 1576

简单实现动态验证码的JSP示例教程

JSP(Java Server Pages)是一种用于开发动态Web应用程序的技术,自1999年被Sun Microsystems公司推出以来,已成为构建企业级Web应用程序的重要工具之一。JSP允许开发者将Java代码直接嵌入到HTML页面中,从而简化了Web页面的开发。通过JSP,开发者可以实现页面逻辑与页面内容的分离,利用服务器端的JavaBean和自定义标签来生成动态内容。JSP页面被编译成Servlet执行,这一点对于理解其运行机制至关重要。

weixin_42594419的博客 1561

Java实现滑动验证码的示例代码

主要介绍了Java实现滑动验证码的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

RuoYi项目适配达梦数据库(二)

RuoYi项目,代码生成模块的达梦数据库适配。

邢慧鹏的博客 1万+

基于OFDM的实时图像传输系统MATLAB仿真:MPSK与MQAM调制性能对比与误码率分析

本文详细介绍了基于OFDM的实时图像传输系统在MATLAB中的仿真实现,重点对比了MPSK与MQAM调制方式的性能差异与误码率分析。通过搭建OFDM系统模型,探讨了QPSK和16QAM在不同信道条件下的表现,包括频谱效率、抗噪能力和误码率等关键指标。文章还提供了MATLAB代码示例和实用技巧,帮助读者快速掌握OFDM图像传输系统的核心算法与优化方法。

weixin_29064009的博客 355

聚类模型-层次聚类

聚类模型 1、层次聚类 2、原型聚类-K-means 3、模型聚类-GMM 4、EM算法-LDA主题模型 5、密度聚类-DBSCAN 6、图聚类-谱聚类 一、层次聚类 一、聚类理论 ​ 一般来说,聚类是在训练样本的标签信息不知的情况下,学习样本内在的性质和规律,将有限的集合划分成ccc类。根据“方以类聚,物以群分”的思想,类内对象尽可能的相似,...

myazi 6504

SAP MM自动化进阶:STO交货单自动创建的配置与优化

本文深入解析了SAP MM模块中实现公司间库存调拨订单(STO)交货单自动创建的完整配置流程与优化策略。通过激活自动交货与绑定发货点两大核心配置,打通自动化链路。重点探讨了如何集成ATP可用性检查以智能处理库存不足等异常场景,确保自动化流程的可靠性与业务贴合度,并提供了进阶监控与问题排查方法,助力企业显著提升供应链效率。

weixin_29206669的博客 124

具身智能与空天具身智能:从理论到实践的跨领域融合

本文深入探讨了具身智能从理论到实践的发展,重点分析了空天具身智能这一前沿领域。文章阐述了如何为AI赋予“身体”,使其通过与环境实时交互进化智能,并详细拆解了构建空天智能体所需的核心技术模块,包括多模态感知、基于大模型的决策规划以及鲁棒控制。同时,结合山区电力线自主巡检等实战案例,展望了多智能体协同与标准化等未来方向。

weixin_29045585的博客 534

【产品经理修炼之道】-如何搭建企业级账务系统?

笔者公司的业务模式具有一定的独特性,不同于我们常见的市面上供应链类公司的进销存模式。公司主要为各大银行和金融机构提供信贷领域的风控服务,客户主要通过请求公司的数据产品接口产生费用,可以简单地理解为请求一次接口收费0.5元,一个月若是有1w人请求同一个接口则公司需要收费5000元。

xiaoli8748的专栏 5407

RT-DETR改进策略【损失函数篇】| 2024 引进Focaler-IoU损失函数 加强边界框回归 (Focaler-DIoU、Focaler-GIoU、Focaler-CIoU等)

本文记录的是改进RT-DETR的损失函数,将其替换成。现有研究通过利用边界框之间的几何关系来提高回归性能,但忽略了困难样本和简单样本分布对边界框回归的影响。不同检测任务中困难样本和简单样本的分布不同,对于简单样本占主导的检测任务,关注简单样本的边界框回归有助于提高检测性能;对于困难样本比例较高的检测任务,需要关注困难样本的边界框回归。,提高检测器在不同检测任务中的性能。实现的。

Limiiiing的博客 1923

【信号与系统】Multisim 仿真信号合成与分解

软件 Multisim 进行方波信号的产生、分解和合成,观察信号波形的分解与合成,加深对信号频谱的理解。

AXYZdong的博客 2万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

上一篇: 美团技术端团队的全链路压测自动化实践
下一篇: MySQL分区如何迁移,就是这么简单
veesing
博客等级 码龄9年 59粉丝 24原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值