千家信息网

Node.JS怎么使用纯JavaScript生成图片或滑块式验证码功能

发表于:2024-10-17 作者:千家信息网编辑
千家信息网最后更新 2024年10月17日,本篇内容介绍了"Node.JS怎么使用纯JavaScript生成图片或滑块式验证码功能"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!
千家信息网最后更新 2024年10月17日Node.JS怎么使用纯JavaScript生成图片或滑块式验证码功能

本篇内容介绍了"Node.JS怎么使用纯JavaScript生成图片或滑块式验证码功能"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

有一些Node.JS图片生成类库,比如node-captcha等的类库,需要c/c++程序生成图片。跨平台部署不是很方便。这里介绍几个用纯JS实现的图片验证码生成模块。

captchapng

用纯JavaScript实现的验证码生成模块。

https://github.com/GeorgeChan/captchapng

安装简单,依赖少:

npm install captchapng

示例:

var captchapng = require('captchapng');app.get('/sign/captcha.png', function(req, res) {var captchaNumber  = parseInt(Math.random() * 9000 + 1000)req.session.captcha = captchaNumbervar p = new captchapng(80,20, captchaNumber); // width,height,numeric captchap.color(0, 0, 0, 0); // First color: background (red, green, blue, alpha)p.color(80, 80, 80, 255); // Second color: paint (red, green, blue, alpha)var img = p.getBase64();var imgbase64 = new Buffer(img,'base64');res.writeHead(200, {'Content-Type': 'image/png'});res.end(imgbase64);})

Express + Captcha

为Express框架设计的验证码生成模块。

https://github.com/napa3um/node-captcha

安装&示例:

$ npm install captchaUsage (for Express 4)'use strict'const express = require('express')const session = require('express-session')const bodyParser = require('body-parser')const captchaUrl = '/captcha.jpg'const captchaId = 'captcha'const captchaFieldName = 'captcha'const captcha = require('./captcha').create({ cookie: captchaId })const app = express()app.use(session({secret: 'keyboard cat',resave: false,saveUninitialized: true,}))app.use(bodyParser.urlencoded({ extended: false }))app.get(captchaUrl, captcha.image())app.get('/', (req, res) => {res.type('html')res.end(`
`)})app.post('/login', (req, res) => {res.type('html')res.end(`

CAPTCHA VALID: ${ captcha.check(req, req.body[captchaFieldName]) }

`)})app.listen(8080, () => {console.log('server started')})

前端滑块验证

前端生成轨迹发送到后端验证,输入简单,但是容易被破解。

"Node.JS怎么使用纯JavaScript生成图片或滑块式验证码功能"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0