码迷,mamicode.com
首页 > 其他好文 > 详细

node与验证码

时间:2018-06-08 14:09:14      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:cas   router   node   data   没有   注意   long   info   字体   

最近用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与验证码

标签:cas   router   node   data   没有   注意   long   info   字体   

原文地址:https://www.cnblogs.com/lafitewu/p/9154859.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!