当前位置:首页 > 科技  > 软件

一款小而美的开源滑动验证码组件

来源: 责编: 时间:2023-12-08 09:14:17 323观看
导读hi, 大家好, 我是徐小夕, 今天给大家分享一款非常有意思的开源组件, 可以实现我们平时开发中的滑动验证码需求, 当然也是技术圈小伙伴奋战了无数个黑夜和白天的结果, 值得好好推荐一下.图片react-rotate-captcha 是一

hi, 大家好, 我是徐小夕, 今天给大家分享一款非常有意思的开源组件, 可以实现我们平时开发中的滑动验证码需求, 当然也是技术圈小伙伴奋战了无数个黑夜和白天的结果, 值得好好推荐一下.1lY28资讯网——每日最新资讯28at.com

图片图片1lY28资讯网——每日最新资讯28at.com

react-rotate-captcha 是一款开箱即用的滑动验证码 React 组件,基于 isszz/rotate-captcha 做的二次开发;结合了腾讯防水墙,增加安全策略.1lY28资讯网——每日最新资讯28at.com

具体策略由两部分组成:1lY28资讯网——每日最新资讯28at.com

  • policie默认策略
  • rules策略组规则

策略规则:1lY28资讯网——每日最新资讯28at.com

  • limit: 上限次数,达到峰值后重新验证,0不限制
  • time: 使用期限,过期后重新验证,0不限制
  • routers: 匹配要授权的路由组,null全匹配

这里的路由是指验证通过后,要执行操作的路由,而不是验证操作时的路由1lY28资讯网——每日最新资讯28at.com

图片图片1lY28资讯网——每日最新资讯28at.com

原理:1lY28资讯网——每日最新资讯28at.com

  • 验证通过后将颁发:sid、ticket
  • 执行操作时验证决定是否通过,通过就去和执行的route进行匹配
  • 从而避免跨权,跨范围执行

优点:1lY28资讯网——每日最新资讯28at.com

  • 针对不同应用场景提供验证
  • 例如登录验证有效期30分钟,后台操作按次数进行身份验证

后端提供 Laravel 扩展:levi/laravel-rotate-captcha ,可直接使用或根据 Api 接口定制.1lY28资讯网——每日最新资讯28at.com

效果如下:1lY28资讯网——每日最新资讯28at.com

图片图片1lY28资讯网——每日最新资讯28at.com

设计思路

图片图片1lY28资讯网——每日最新资讯28at.com

具体的使用安装方式如下:1lY28资讯网——每日最新资讯28at.com

// yarn安装yarn add react-rotate-captcha// pnpm安装pnpm add react-rotate-captcha

使用方式如下:1lY28资讯网——每日最新资讯28at.com

// 1. 通过status唤起import { useState } from 'react';import RotateCaptcha from "react-rotate-captcha";function App() {    const [open, setOpen] = useState(true);    return <RotateCaptcha open={open} onClose={() => setOpen(false)} />}// 2. 通过Instance唤起import RotateCaptcha from "react-rotate-captcha";function Page() {    const captcha = RotateCaptcha.useCaptchaInstance();    return (        <button onClick={() => captcha.open()}>click it</button>    );}function App() {    return (        <RotateCaptcha>            <Page />        </RotateCaptcha>    );}

当然我们也可以使用 ref 来实现同样的效果:1lY28资讯网——每日最新资讯28at.com

import { useRef } from 'react';import RotateCaptcha, { CaptchaInstance } from "react-rotate-captcha";function App() {    const ref = useRef<CaptchaInstance>(null);    return (        <RotateCaptcha ref={ref}>            <button onClick={() => ref.current!.open()}>click it</button>        </RotateCaptcha>    );}

基本属性介绍:1lY28资讯网——每日最新资讯28at.com

图片图片1lY28资讯网——每日最新资讯28at.com

同时该组件接受5个方法,只有 onClose 和 result 是同步函数,其余全部为异步函数:1lY28资讯网——每日最新资讯28at.com

图片图片1lY28资讯网——每日最新资讯28at.com

更详细的用法大家可以在github上学习参考:1lY28资讯网——每日最新资讯28at.com

https://github.com/cgfeel/react-rotate-captcha1lY28资讯网——每日最新资讯28at.com

demo 目前提供了 webpack 和 vite 版本的, 可以在: https://codesandbox.io/p/devbox/react-rotate-captcha-ts-react-vite-t23lcq 体验.1lY28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-39506-0.html一款小而美的开源滑动验证码组件

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Java 21 的虚拟线程:高性能并发应用的福音

下一篇: 这套分布式IM即时通讯系统如何写到简历上?我给你整理好了!

标签:
  • 热门焦点
  • 官方承诺:K60至尊版将会首批升级MIUI 15

    全新的MIUI 15今天也有了消息,在官宣了K60至尊版将会搭载天玑9200+处理器和独显芯片X7的同时,Redmi给出了官方承诺,K60至尊重大更新首批升级,会首批推送MIUI 15。也就是说虽然
  • Mate60手机壳曝光 致敬自己的经典设计

    8月3日消息,今天下午博主数码闲聊站带来了华为Mate60的第三方手机壳图,可以让我们在真机发布之前看看这款华为全新旗舰的大致轮廓。从曝光的图片看,Mate 60背后摄像头面积依然
  • 6月iOS设备性能榜:M2稳居榜首 A系列只能等一手3nm来救

    没有新品发布,自然iOS设备性能榜的上榜设备就没有什么更替,仅仅只有跑分变化而产生的排名变动,毕竟苹果新品的发布节奏就是这样的,一年下来也就几个移动端新品,不会像安卓厂商,一
  • 帅气纯真少年!日本最帅初中生选美冠军出炉

    日本第一帅哥初一生选美大赛冠军现已正式出炉,冠军是来自千叶县的宗田悠良。日本一直热衷于各种选美大赛,从&ldquo;最美JK&rdquo;起到&ldquo;最美女星&r
  • Golang 中的 io 包详解:组合接口

    io.ReadWriter// ReadWriter is the interface that groups the basic Read and Write methods.type ReadWriter interface { Reader Writer}是对Reader和Writer接口的组合,
  • 企业采用CRM系统的11个好处

    客户关系管理(CRM)软件可以为企业提供很多的好处,从客户保留到提高生产力。  CRM软件用于企业收集客户互动,以改善客户体验和满意度。  CRM软件市场规模如今超过580
  • 2023年,我眼中的字节跳动

    此时此刻(2023年7月),字节跳动从未上市,也从未公布过任何官方的上市计划;但是这并不妨碍它成为中国最受关注的互联网公司之一。从2016-17年的抖音强势崛起,到2018年的&ldquo;头腾
  • iQOO 11S或7月上市:搭载“鸡血版”骁龙8Gen2 史上最强5G Soc

    去年底,iQOO推出了“电竞旗舰”iQOO 11系列,作为一款性能强机,iQOO 11不仅全球首发2K 144Hz E6全感屏,搭载了第二代骁龙8平台及144Hz电竞屏,同时在快充
  • Windows 11发布,微软一改往常对老机型开放的态度

    距离 Windows 11 发布已经过去一周,在过去一周里,很多数码爱好者围绕其对 Android 应用的支持、对老机型的升级问题展开了激烈讨论。与以往不同的是,在这次大
Top