你如何向同伴证明自己是个人类,而不是机器人?这个UNIAPP行为验证组件你一定要看!

ITRITON-CAPTCHA

项目地址 github | gitee

20年前,24岁的计算机天才路易斯·冯·安(Luis von Ahn)在卡内基梅隆大学研究程序机器人的工作原理时,首次提出了CAPTCHA(验证码)这样一个程序概念。验证码(CAPTCHA)的全称是“Completely Automated Public Turing test to tell Computers andHumans Apart”,即全自动区分计算机和人类的图灵测试。意在用户进行操作之前,通过向请求的发起方提出问题,将伪装成人类的程序机器人从正常用户中”抓“出来。而这基于一个重要的假设:提出的问题时容易被人类解答,而机器无法解答的。彼时,计算机技术虽已有较大突破,但路易斯发现机器若要识别扭曲的图形,仍是一个巨大的挑战,而人类却可以用肉眼很轻易地读出图片里的信息。此后,路易斯在导师布鲁姆的协助下设计出一个程序。这个程序首先产生了一组随机的字符串,其次再对这串字符进行随机的扭曲、重叠以及污染,最后显示给正在进行操作的用户。一旦能够识别这个变形了的字符串,就可判断为人类。由此,验证码诞生,并成为辨别机器与人的一种有效方式。伴随信息技术的蓬勃发展,验证码的作用愈发显著,它可以防止恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试等。然而当网络信息安全性要求越来越高,传统的图形及数字验证码已经不能满足人们的安全需求,为了保证服务器稳定,各类产品负责人们亟待程序员们开发出各类创新互动的验证方式。

介绍

生成滑动验证码拼图图片和背景图片

安装

npm i @itriton/captcha

使用方法

const captcha = require('@itriton/captcha')

// 默认(promise)
captcha.create().then(res=>{
    console.log(res)
})

// 自定义参数(promise)
captcha.create(options).then(res=>{
    console.log(res)
})

// 默认(async/await)
async function captcha(){
   const result = await captcha.create()
}

// 自定义参数(async/await)
async function captcha(){
   const result = await captcha.create(options)
}

参数

属性名类型默认值说明
sizeNumber30默认拼图大小
widthNumber270图片宽度(px)
heightNumber144图片高度(px)
urlString-图片路径(支持在线地址)

返回值

属性名类型说明
backgroundImageBase64背景图片
jigsawImageBase64拼图图片
xNumberx轴距离

安装sharp失败的解决方案

切换成淘宝镜像再执行npm install sharp命令

npm config set sharp_binary_host "https://npm.taobao.org/mirrors/sharp"

npm config set sharp_libvips_binary_host "https://npm.taobao.org/mirrors/sharp-libvips"

npm install sharp

效果图

结合 @itriton/uniapp 组件库的 行为验证(captcha)组件的实际效果
在这里插入图片描述

其他开源项目

ibaleine-weapp

基于原生小程序框架的小程序商城

@itriton/uniapp

@itriton/uniapp,是基于uni-app生态开发的组件库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值