node与验证码

Posted lafitewu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node与验证码相关的知识,希望对你有一定的参考价值。

最近用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与验证码的主要内容,如果未能解决你的问题,请参考以下文章

用node生成验证码

node.js生成验证码及图片

php生成各种验证码

node.js使用superagent实现模拟登陆功能(包含下载验证码功能)

git动态验证码

Android SMS Verification API 结果码始终为 0