trek-captcha 验证码接口的制作

2023-11-11 08:20

本文主要是介绍trek-captcha 验证码接口的制作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

trek-captcha 验证码接口的制作

  • 介绍
  • 步骤
  • 总结

介绍

这一章本想去讲解滑动校验,但尝试了一下canvas服务器的安装过于复杂,不同的系统还要安装不同的插件,最后只能放弃了。还是用传统的图片验证码校验。原理也非常简单,使用trek-captcha插件,将生成的图片与验证码保存到session,最后再进行session校验。

步骤

  1. 安装插件
npm install trek-captcha  -save-dev
  1. 创建接口

接口配置如下在这里插入图片描述

  1. 生成代码并保存接口
    我们将接口保存到user文件里,点击插入代码到文件即可自动保存接口
    在这里插入图片描述
  2. 查看代码
    点击上图右边的文件目录即可打开接口文件,接口代码如下
var required = require('../plugs/guimain/required')
var mongoFunc = require('../funcs/mongoFunc')
var send = require('../funcs/sendData')
var mongodb = require('../plugs/mongose/mongoQuery')
var shortid = require('shortid')
var result = app => {var isEmptyStr = required.isEmptyStrvar isRange = required.isRangevar isEmptyObject = required.isEmptyObject// addCode// bXHPd1xS- Startapp.get('/user/captcha',(req, res) => { // 获取验证码var params = req.queryvar where = {}})// bXHPd1xS- end
  1. 添加插件的引用

文件中最顶部添加验证码插件的引用

var captcha = require('trek-captcha')
  1. 创建公共获取验证码的方法
    如图:
    在这里插入图片描述
    代码如下:
async function getImgCode(req, res){const {token,buffer} = await captcha();req.session.imageCode = token;res.writeHead(200, {'Content-Type': 'image/png'});res.write(buffer);res.end();}

简单的解释一下这段代码,这里的token就是验证码的实际值,通过session来将验证码的值存储起来,方便后续注册或登录接口的校验,最后再直接将生成好的图片流直接返回给前端。
8. 调用公共方法
在这里直接将方法名输入进去在这里插入图片描述
然后再点击生成代码,可以看到生成的代码自动会先调用公共方法

async function getImgCode(req, res){const {token,buffer} = await captcha();req.session.imageCode = token;res.writeHead(200, {'Content-Type': 'image/png'});res.write(buffer);res.end();}
app.get('/user/captcha',getImgCode,(req, res) => { // 获取验证码var params = req.queryvar where = {}})
  1. 重启服务访问验证码
node ./server.js local

也可以安装nodemon,这样每次修改接口就不需要每次重启了

在这里插入图片描述
10. 浏览器访问验证码
刚刚我们配置的接口,路径为user/captcha,而且还是get请求,所以直接在浏览器中输入地址
http://localhost:8072/user/captcha即可访问验证码,这样我们的图片验证码接口就制作完成了。
下一章讲解注册页面如何调用验证码,并实现服务器验证码的校验
在这里插入图片描述

总结

最后可以看到这个接口用guiplan来制作,整个过程我们只创建了一个公共的获取验证码方法,其他整个流程全由guiplan软件自动完成,代码也自动生成,非常方便。下一章将讲解注册功能,一键配置数据库,一键生成增删改查分页接口也非常简单,喜欢的朋友,记得关注哟

这篇关于trek-captcha 验证码接口的制作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/388757

相关文章

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

基于Redisson实现分布式系统下的接口限流

《基于Redisson实现分布式系统下的接口限流》在高并发场景下,接口限流是保障系统稳定性的重要手段,本文将介绍利用Redisson结合Redis实现分布式环境下的接口限流,具有一定的参考价值,感兴趣... 目录分布式限流的核心挑战基于 Redisson 的分布式限流设计思路实现步骤引入依赖定义限流注解实现

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

SpringBoot+Redis防止接口重复提交问题

《SpringBoot+Redis防止接口重复提交问题》:本文主要介绍SpringBoot+Redis防止接口重复提交问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录前言实现思路代码示例测试总结前言在项目的使用使用过程中,经常会出现某些操作在短时间内频繁提交。例

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

spring中的ImportSelector接口示例详解

《spring中的ImportSelector接口示例详解》Spring的ImportSelector接口用于动态选择配置类,实现条件化和模块化配置,关键方法selectImports根据注解信息返回... 目录一、核心作用二、关键方法三、扩展功能四、使用示例五、工作原理六、应用场景七、自定义实现Impor

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP