npm install --save express-session
npm install --save save svg-captch    //SVG图片验证码

const express=require('express')
const server = express()

// 验证码包
const captcha = require('svg-captcha')
const session = require('express-session')

server.use(session({
  secret: 'keyboard cat'  
//自定义密钥,用于生成sid, 前端拿到整个验证密码会携带这个sid标识,等他提交验证码的时候可以根据这个sid来判断
}))

server.get('/getCode',(req,res)=>{
  let result = captcha.create()
  // 将result.text 存入session对象,返回客户端一个sid
  req.session.answer = result.text
  res.type('svg')
  res.send(result.data)
})


// 判断验证码是否正确
server.get('/register',(req,res)=>{
  let ucode = req.query.code  //用户输入的验证码
  let answer = req.session.answer  //上一次请求的正确
  console.log(`answer:${answer}  ucode:${ucode}`)
  if(ucode == answer){
    res.send('SUCCESS');
  }else{
    res.send('FAIL');
  }
})


app.listen(3007,()=> console.log('server http:127.0.0.1...'))

 

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐