produck / svg-captcha

generate svg captcha in node
MIT License
1.86k stars 174 forks source link

为什么服务器上获取验证码不改变呢? #24

Closed BG7ZAG closed 6 years ago

BG7ZAG commented 6 years ago

在本地node环境下开发时,刷新接口验证码svg图片会更新。但是部署在服务器上怎么访问多次接口svg图片没发生改变,请求这是什么原因呢?谢谢 API地址:https://kc.hcode.xyz/api/code 是这样写的:

` // 获取验证码 const svgCaptcha = require('svg-captcha');

module.exports = callback => { let codeConfig = { size: 5,// 验证码长度 ignoreChars: '0o1i', // 验证码字符中排除 0o1i noise: 2, // 干扰线条的数量 height: 45 } let captcha = svgCaptcha.create(codeConfig); let sessionCaptcha = captcha.text.toLowerCase(); //存session用于验证接口获取文字码 let codeData = { img:captcha.data } callback(sessionCaptcha,codeData); } `

`const Router = require('express') const router = Router() const getCode = require('../model/svgCaptcha.js')

router.get('/code', function(req, res, next) { getCode(function(code, img) { //存session用于验证接口获取文字码 req.session.captcha = code let data = {} if (code && img) { data = { code: 200, msg: '获取成功', data: img } } else { data = { code: 400, msg: '获取失败', data: img } }

res.json(data)

})

})

module.exports = router `

BG7ZAG commented 6 years ago

已经解决了,请求中随便加个不相同的值,就可以。 参考:https://xn--nf1a578axkh.xn--fiqs8s/ALYyV