svg-captcha 生成图片验证码

news/2024/7/18 20:33:44 标签: 前端, express

svg-captcha - npm (npmjs.com)

npm install --save svg-captcha
const express = require('express');
const {getCaptchaService} = require("../service/captchaService");
const router = express.Router();

// 生成验证码
router.get('/', async function (req, res, next) {
    const captcha = await getCaptchaService()
    req.session.captcha = captcha.text
    res.setHeader('Content-Type', 'image/svg+xml')
    res.send(captcha.data)
})

module.exports = router;
const svgCaptcha = require('svg-captcha');
module.exports.getCaptchaService = async (req, res) => {
    return svgCaptcha.create({
        size: 4,
        ignoreChars: 'ilIL10Oo',
        noise: 6,
        color: true
    })
}

因为此时将 svg 保存到了 session 中,需要安装 express-session:

express-session - npm (npmjs.com)

app.use(session({
    secret: process.env.SESSION_SECRET,
    resave: true,
    saveUninitialized: true,
}))

http://www.niftyadmin.cn/n/5544446.html

相关文章

Linux安装elasticsearch单机版

一、检查内核 uname -a uname -m 二、下载版本 下载版本选择自己服务器相同的内核版本 我这边是aaech64 ES下载地址 Kibana 下载地址 二、上传服务器解压 tar -xvf elasticsearch-8.14.1-linux-aarch64.tar.gz 三、安装ES 因为ES不能用root用户启动先创建用户 #新增 es …

昇思25天打卡营-mindspore-ML- Day19-应用实践-生成式-DCGAN生成漫画头像

学习了如何使用DCGAN模型生成动漫头像。 数据集: 本次实验使用了70,171张96*96像素的动漫头像图片作为训练数据。 算法原理: DCGAN(深度卷积对抗生成网络)是一种基于GAN(生成对抗网络)的图像生成模型。它…

linux kthread任务管理

目录 一、linux 创建内核线程1.1 kthread_create1.2 kthread_create_worker kthread_queue_work 二、设置线程优先级和调度策略2.1 sched_setscheduler2.2 调度策略 一、linux 创建内核线程 1.1 kthread_create 在 linux 中,可以使用 kthread_create 接口创建内核…

智能化代码审查系统设计

设计一个智能化代码审查系统,特别是针对Java开发,需要综合考虑多个维度来提升代码质量、提高审查效率,并促进团队间的协作。以下是该系统设计的关键要素和功能特性: 系统架构 客户端-服务器架构:前端提供友好的Web界面…

go语言中使用WaitGroup和channel实现处理多线程问题

WaitGroup 背景 如果将一个任务分为任意个小任务,并且不关心小任务的执行顺序,并且希望等待全部的小任务执行完成后再去操作后面的逻辑,那我推荐你用sync.WaitGRoup 使用方法 比如,有一个任务需要执行 3 个子任务,…

在CentOS和Ubuntu云服务下搭建Git版本控制器管理系统

目录 0.Git背景 1.在CentOS下安装Git 2.在Ubuntu下安装Git 3.安装git和图形化界面工具_哔哩哔哩_bilibili 0.Git背景 不知道你⼯作或学习时,有没有遇到这样的情况:我们在编写各种⽂档时,为了防⽌⽂档丢失,更改失误&#xff…

Hyper-V 性能监控工具

虚拟化是任何组织网络管理战略不可或缺的一部分,对于帮助提高网络效率和资源可用性至关重要。采用虚拟基础架构具有多种好处,例如最大限度地减少停机时间、降低运营成本和提高生产力。 在所有虚拟服务器中,Microsoft Hyper-V因其多功能性和可…

【ffmpeg系列一】源码构建,ubuntu22与win10下的过程对比。

文章目录 背景ubuntu22结论 win10过程 对比结论 背景 顺手编译个ffmpeg试试,看看不同平台下谁的配置比较繁琐。 先让gpt给出个教程: ubuntu22 使用elementary-os7.1构建,看看有几个坑要踩。 错误1: 依赖libavresample-dev未…