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

 更新时间:2019年09月12日 13:37:49   作者:ourjs  
有一些Node.JS图片生成类库,比如node-captcha等的类库,需要c/c++程序生成图片。跨平台部署不是很方便。这里介绍几个用纯JS实现的图片验证码生成模块,需要的朋友可以参考下

有一些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 = captchaNumber
var p = new captchapng(80,20, captchaNumber); // width,height,numeric captcha
p.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 captcha
Usage (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(`
<img src="${ captchaUrl }"/>
<form action="/login" method="post">
<input type="text" name="${ captchaFieldName }"/>
<input type="submit"/>
</form>
`)
})
app.post('/login', (req, res) => {
res.type('html')
res.end(`
<p>CAPTCHA VALID: ${ captcha.check(req, req.body[captchaFieldName]) }</p>
`)
})
app.listen(8080, () => {
console.log('server started')
})

前端滑块验证

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

 

https://gitee.com/LongbowEnterprise/SliderCaptcha

总结

以上所述是小编给大家介绍的Node.JS用纯JavaScript生成图片或滑块式验证码功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • 20行代码简单实现koa洋葱圈模型示例详解

    20行代码简单实现koa洋葱圈模型示例详解

    这篇文章主要为大家介绍了20行代码简单实现koa洋葱圈模型示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • 详解nodejs微信公众号开发——6.自定义菜单

    详解nodejs微信公众号开发——6.自定义菜单

    这篇文章主要介绍了详解nodejs微信公众号开发——6.自定义菜单,自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。
    2017-04-04
  • Node.js进行文件操作(读取/写入/修改/删除)详解

    Node.js进行文件操作(读取/写入/修改/删除)详解

    Node.js是一个神奇的东西,它可以让JavaScript在服务器端运行,让我们的很多前端程序员也能在后端大展身手了!本文就来讲讲如何在Node.js中进行文件操作:读取、写入、修改和删除文件吧
    2023-03-03
  • 如何利用Node.js做简单的图片爬取

    如何利用Node.js做简单的图片爬取

    这篇文章主要介绍了如何利用Node.js做简单的图片爬取,爬虫的主要目的是收集互联网上公开的一些特定数据,本文介绍用于网络抓取的node.js包,完成一个简单的爬虫案例来爬取网页上图片并下载到本地
    2022-06-06
  • 详解nodejs微信公众号开发——2.自动回复

    详解nodejs微信公众号开发——2.自动回复

    这篇文章主要介绍了详解nodejs微信公众号开发——2.自动回复,非常具有实用价值,需要的朋友可以参考下
    2017-04-04
  • node.js中joi模块的基本使用方式

    node.js中joi模块的基本使用方式

    这篇文章主要介绍了node.js中joi模块的基本使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • node.js中的buffer.toString方法使用说明

    node.js中的buffer.toString方法使用说明

    这篇文章主要介绍了node.js中的buffer.toString方法使用说明,本文介绍了buffer.toString的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • Node.js中常用设计模式的使用方法总结

    Node.js中常用设计模式的使用方法总结

    设计模式是由经验丰富的程序员在日积月累中抽象出的用以解决通用问题的可复用解决方案,它提供了标准化的代码设计方案提升开发体验,本文主要来和大家讨论一下Node.js中设计模式的重要性并提供一些代码示例,感兴趣的可以了解下
    2023-10-10
  • Mac node删除以及重新安装案例详解

    Mac node删除以及重新安装案例详解

    这篇文章主要介绍了Mac node删除以及重新安装案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • 浅析nodejs实现Websocket的数据接收与发送

    浅析nodejs实现Websocket的数据接收与发送

    WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术,本文给大家介绍nodejs实现websocket的数据库接收与发送,小伙伴们一起学习吧
    2015-11-11

最新评论