亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Node.JS用純JavaScript生成圖片或滑塊式驗(yàn)證碼功能

 更新時(shí)間:2019年09月12日 13:37:49   作者:ourjs  
有一些Node.JS圖片生成類庫,比如node-captcha等的類庫,需要c/c++程序生成圖片??缙脚_(tái)部署不是很方便。這里介紹幾個(gè)用純JS實(shí)現(xiàn)的圖片驗(yàn)證碼生成模塊,需要的朋友可以參考下

有一些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(`
<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')
})

前端滑塊驗(yàn)證

前端生成軌跡發(fā)送到后端驗(yàn)證,輸入簡(jiǎn)單,但是容易被破解。

 

https://gitee.com/LongbowEnterprise/SliderCaptcha

總結(jié)

以上所述是小編給大家介紹的Node.JS用純JavaScript生成圖片或滑塊式驗(yàn)證碼功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • 20行代碼簡(jiǎn)單實(shí)現(xiàn)koa洋蔥圈模型示例詳解

    20行代碼簡(jiǎn)單實(shí)現(xiàn)koa洋蔥圈模型示例詳解

    這篇文章主要為大家介紹了20行代碼簡(jiǎn)單實(shí)現(xiàn)koa洋蔥圈模型示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 詳解nodejs微信公眾號(hào)開發(fā)——6.自定義菜單

    詳解nodejs微信公眾號(hào)開發(fā)——6.自定義菜單

    這篇文章主要介紹了詳解nodejs微信公眾號(hào)開發(fā)——6.自定義菜單,自定義菜單能夠幫助公眾號(hào)豐富界面,讓用戶更好更快地理解公眾號(hào)的功能。
    2017-04-04
  • Node.js進(jìn)行文件操作(讀取/寫入/修改/刪除)詳解

    Node.js進(jìn)行文件操作(讀取/寫入/修改/刪除)詳解

    Node.js是一個(gè)神奇的東西,它可以讓JavaScript在服務(wù)器端運(yùn)行,讓我們的很多前端程序員也能在后端大展身手了!本文就來講講如何在Node.js中進(jìn)行文件操作:讀取、寫入、修改和刪除文件吧
    2023-03-03
  • 如何利用Node.js做簡(jiǎn)單的圖片爬取

    如何利用Node.js做簡(jiǎn)單的圖片爬取

    這篇文章主要介紹了如何利用Node.js做簡(jiǎn)單的圖片爬取,爬蟲的主要目的是收集互聯(lián)網(wǎng)上公開的一些特定數(shù)據(jù),本文介紹用于網(wǎng)絡(luò)抓取的node.js包,完成一個(gè)簡(jiǎn)單的爬蟲案例來爬取網(wǎng)頁上圖片并下載到本地
    2022-06-06
  • 詳解nodejs微信公眾號(hào)開發(fā)——2.自動(dòng)回復(fù)

    詳解nodejs微信公眾號(hào)開發(fā)——2.自動(dòng)回復(fù)

    這篇文章主要介紹了詳解nodejs微信公眾號(hào)開發(fā)——2.自動(dòng)回復(fù),非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-04-04
  • node.js中joi模塊的基本使用方式

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

    這篇文章主要介紹了node.js中joi模塊的基本使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • node.js中的buffer.toString方法使用說明

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

    這篇文章主要介紹了node.js中的buffer.toString方法使用說明,本文介紹了buffer.toString的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Node.js中常用設(shè)計(jì)模式的使用方法總結(jié)

    Node.js中常用設(shè)計(jì)模式的使用方法總結(jié)

    設(shè)計(jì)模式是由經(jīng)驗(yàn)豐富的程序員在日積月累中抽象出的用以解決通用問題的可復(fù)用解決方案,它提供了標(biāo)準(zhǔn)化的代碼設(shè)計(jì)方案提升開發(fā)體驗(yàn),本文主要來和大家討論一下Node.js中設(shè)計(jì)模式的重要性并提供一些代碼示例,感興趣的可以了解下
    2023-10-10
  • Mac node刪除以及重新安裝案例詳解

    Mac node刪除以及重新安裝案例詳解

    這篇文章主要介紹了Mac node刪除以及重新安裝案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • 淺析nodejs實(shí)現(xiàn)Websocket的數(shù)據(jù)接收與發(fā)送

    淺析nodejs實(shí)現(xiàn)Websocket的數(shù)據(jù)接收與發(fā)送

    WebSocket是HTML5開始提供的一種瀏覽器與服務(wù)器間進(jìn)行全雙工通訊的網(wǎng)絡(luò)技術(shù),本文給大家介紹nodejs實(shí)現(xiàn)websocket的數(shù)據(jù)庫接收與發(fā)送,小伙伴們一起學(xué)習(xí)吧
    2015-11-11

最新評(píng)論