美文网首页
node进阶(4)——node实现图片验证码接口

node进阶(4)——node实现图片验证码接口

作者: wayne1125 | 来源:发表于2018-08-29 20:14 被阅读0次

    一、安装依赖

    1.引入插件

    cnpm i svg-captcha --save

    1. 在使用的地方导入

    var svgCaptcha = require('svg-captcha');

    1. app.js中引入cookie-parase

    const cookieParase = require('cookie-parser');
    app.use(cookieParase());

    二、随机字母验证码

    router.get("/getCaptcha",function(req, res, next){
        var captcha = svgCaptcha.create({ 
          inverse: false, // 翻转颜色 
          fontSize: 48, // 字体大小 
          noise: 2, // 噪声线条数 
          width: 100, // 宽度 
          height: 40, // 高度 
          size: 4,// 验证码长度
          ignoreChars: '0o1i', // 验证码字符中排除 0o1i
        }); 
        // 保存到session,忽略大小写 
        req.session = captcha.text.toLowerCase(); 
        console.log(req.session); //0xtg 生成的验证码
        //保存到cookie 方便前端调用验证
        res.cookie('captcha', req.session); 
        res.setHeader('Content-Type', 'image/svg+xml');
        res.write(String(captcha.data));
        res.end();
    })
    
    随机字母验证码

    三、生成简单加法验证码

    router.get("/getCaptcha",function(req, res, next){
        var captcha = svgCaptcha.createMathExpr({ 
          inverse: false, // 翻转颜色 
          fontSize: 48, // 字体大小 
          noise: 2, // 噪声线条数 
          width: 100, // 宽度 
          height: 40, // 高度 
          size: 4,// 验证码长度
          ignoreChars: '0o1i', // 验证码字符中排除 0o1i
          color: true,// 验证码的字符是否有颜色,默认没有,如果设定了背景,则默认有
          background: '#e8e3e3'// 验证码图片背景颜色
        })
        // 保存到session,忽略大小写 
        req.session = captcha.text.toLowerCase(); 
        console.log(req.session); //0xtg 生成的验证码
        //保存到cookie 方便前端调用验证
        res.cookie('captcha', req.session); 
        res.setHeader('Content-Type', 'image/svg+xml');
        res.write(String(captcha.data));
        res.end();
    })
    
    加法验证码

    相关文章

      网友评论

          本文标题:node进阶(4)——node实现图片验证码接口

          本文链接:https://www.haomeiwen.com/subject/xhvkwftx.html