简介:防止大量盗刷攻击注册图形验证码+redis缓存接口开发
- ioredis连接和安装
- 安装
yarn add ioredis@5.2.3
- 配置
- 新建redisConfig文件,使用插件远程连接redis
const redis = new Redis({ port: 6379, host: "120.25.3.72", password: '123456' });
- 封装redis的各个api使用
const redisConfig = { //redis存数据 set:(key,value,time) =>{ time ? redis.set(key,value,'EX',time):redis.set (key,value) }, }, // redis获取数据 get:(key) =>{ return redis.get(key) } }
- 新建redisConfig文件,使用插件远程连接redis
- app.js设置路径分配控制层
// 通知相关的接口 const notifyRouter = require('./router/notify') app.use('/api/notify/v1',notifyRouter)
- 设置图形验证码接口
- 新建router文件夹和NotifyController.js文件
const express = require('express') const router = express.Router() const NotifyController = require('../controller/NotifyController') // 图形验证码接口 router.get('/captcha',NotifyController.captcha)
- 新建router文件夹和NotifyController.js文件
- 在控制层拿到前端传过来的数据并返回数据给前端
const NotifyService = require('../service/NotifyService') const NotifyController = { captcha: async(req,res)=>{ let handleRes = await NotifyService.captcha() //以图片格式返回给前端 res.set('content-type','image/svg+xml') res.send(handleRes) } }
- 接口开发,具体的sql等操作放在service文件夹里
- 开发路径为 /api/notify/v1/captcha 接口
- 安装图形验证码插件
yarn add svg-captcha@1.4.0
const svgCaptcha = require('svg-captcha') const redisConfig = require('../config/redisConfig') const NotifyService = { captcha: async()=>{ let captcha = svgCaptcha.create({ size:6, //验证码长度 ignoreChars:'0oli', // 验证码字符中排除 0oli noise:4, //干扰线 background: '#aaa', //背景颜色 }) redisConfig.set('captcha',captcha.text,600) return captcha.data } }
- 开发好后可在ApiFox上进行调用