1. 程式人生 > >node與驗證碼

node與驗證碼

captcha 引入 ext .html GC 驗證碼 tolower pos ESS

最近用node做了一個簡易後臺系統,遇到了很多坑,拿出來分享分享。

先上圖,我們還是按套路出牌。
技術分享圖片

因為long long ago也用php寫過後臺,php可以自己繪制驗證碼。所以馬上百度一波。
然而發現node貌似沒有類似的騷操作。

所以選擇了網上大多數人用的插件svg-captcha

來來來,上代碼:
api.js:

var svgCaptcha = require(‘svg-captcha‘);//引入插件(驗證碼) ps:可以放在公用的app.js中,我是單獨放在api.js中

router.post(‘/captcha‘,function(req,res,next){
    var code = svgCaptcha.create({  
        // 翻轉顏色  
        inverse: false,  
        ignoreChars: ‘0o1i‘,
         // 驗證碼字符中排除 0o1i
        // 字體大小  
        fontSize: 36,  
        // 噪聲線條數  
        noise: 2,  
        // 寬度 
        width: 120,  
        // 高度  
        height: 29,  
        color: ‘red‘,
    }); 
    req.session.captcha = code.text.toLowerCase();  // 特別註意:這裏需要你先自己定義session,否則會報錯
    res.send(code.data);
});

下面代碼是前端實現渲染:
login.ejs:

$.ajax({ 
    url: "/api/captcha",
    type: ‘post‘,
    success: function(data) { 
        $(".yzm_pic").html(data); //關鍵代碼
    },
    error: function(err) {
        console.log(err);
    }
})

到這裏,恭喜!你就大功告成。

node與驗證碼