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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

设计思路

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

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

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

使用方式如下:ZfD28资讯网——每日最新资讯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 来实现同样的效果:ZfD28资讯网——每日最新资讯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>    );}

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

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

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

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

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • 小米平板5 Pro 12.4简评:多专多能 兼顾影音娱乐的大屏利器

    疫情带来了网课,网课盘活了安卓平板,安卓平板市场虽然中途停滞了几年,但好的一点就是停滞的这几年行业又有了新的发展方向,例如超窄边框、高刷新率、多摄镜头组合等,这就让安卓
  • 6月安卓手机性价比榜:Note 12 Turbo断层式碾压

    6月份有一个618,虽然这是京东周年庆的日子,但别的电商也都不约而同的跟进了,反正促销没坏处,厂商和用户都能满意。618期间一些产品也出现了历史低价,那么各个价位段的产品性价比
  • 5月iOS设备好评榜:iPhone 14仅排第43?

    来到新的一月,安兔兔的各个榜单又重新汇总了数据,像安卓阵营的榜单都有着比较大的变动,不过iOS由于设备的更新换代并没有那么快,所以相对来说变化并不大,特别是iOS好评榜,老款设
  • Rust中的高吞吐量流处理

    作者 | Noz编译 | 王瑞平本篇文章主要介绍了Rust中流处理的概念、方法和优化。作者不仅介绍了流处理的基本概念以及Rust中常用的流处理库,还使用这些库实现了一个流处理程序
  • CSS单标签实现转转logo

    转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。新logo
  • 如何正确使用:Has和:Nth-Last-Child

    我们可以用CSS检查,以了解一组元素的数量是否小于或等于一个数字。例如,一个拥有三个或更多子项的grid。你可能会想,为什么需要这样做呢?在某些情况下,一个组件或一个布局可能会
  • Flowable工作流引擎的科普与实践

    一.引言当我们在日常工作和业务中需要进行各种审批流程时,可能会面临一系列技术和业务上的挑战。手动处理这些审批流程可能会导致开发成本的增加以及业务复杂度的上升。在这
  • ESG的面子与里子

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之三伏大幕拉起,各地高温预警不绝,但处于厄尔尼诺大&ldquo;烤&rdquo;之下的除了众生,还有各大企业发布的ESG报告。ESG是&ldquo;环境保
  • 三星Galaxy Z Fold5今日亮相:厚度缩减但仍略显厚重

    据官方此前宣布,三星将于7月26日也就是今天在韩国首尔举办Unpacked活动,届时将带来带来包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy
Top