本篇內(nèi)容介紹了“Node.JS怎么使用純JavaScript生成圖片或滑塊式驗(yàn)證碼功能”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)建站是專業(yè)的新華網(wǎng)站建設(shè)公司,新華接單;提供網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行新華網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
有一些Node.JS圖片生成類庫,比如node-captcha等的類庫,需要c/c++程序生成圖片。跨平臺(tái)部署不是很方便。這里介紹幾個(gè)用純JS實(shí)現(xiàn)的圖片驗(yàn)證碼生成模塊。
captchapng
用純JavaScript實(shí)現(xiàn)的驗(yàn)證碼生成模塊。
https://github.com/GeorgeChan/captchapng
安裝簡(jiǎn)單,依賴少:
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框架設(shè)計(jì)的驗(yàn)證碼生成模塊。
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(``) }) 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') })前端滑塊驗(yàn)證
前端生成軌跡發(fā)送到后端驗(yàn)證,輸入簡(jiǎn)單,但是容易被破解。
“Node.JS怎么使用純JavaScript生成圖片或滑塊式驗(yàn)證碼功能”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!