node-express生成圖片驗證碼
阿新 • • 發佈:2019-02-11
node生成圖片外掛的第三方庫(svg-captcha)
一、優勢
- 不需要安裝任何環境,安裝直接執行
- 生成圖片為svg
- 定製程度高可根據自己的需求更改
二、使用
安裝express-session
cnpm install express-session -S
app.js關鍵程式碼:
var session = require("express-session") // 匯入
/* 建立session中介軟體 */
app.use(session({
name:'testapp', //..這裡的name指的是cookie的name,預設cookie的name是:connect.sid
secret:'keyword cat', // 加密key 可以隨意書寫
cookie:{maxAge:60000}, // 兩次請求的時間差,即超過這個時間再去訪問session會失效
resave:false,
saveUninitialized:true
}))
routes/index.js關鍵程式碼:
var session = require('express-session');
/* 驗證碼 */
router.get('/getCode',function(req,res,next){
var codeConfig = {
size:5 , // 驗證碼長度
ignoreChars:'O01i', //..驗證碼字元中排除O01i
noise:2, // 干擾線條數量
height:44
}
var captcha = svgCaptcha.create(codeConfig)
// console.log('captcha=',captcha)
let x = captcha.text.toLowerCase()
req.session['captcha'] = captcha.text.toLowerCase() // 存session用於驗證介面獲取文字碼
var codeData = {
img:captcha.data
}
res.send(codeData)
})