国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

node實現登錄圖片驗證碼的示例代碼

來源:懂視網 責編:小采 時間:2020-11-27 22:16:18
文檔

node實現登錄圖片驗證碼的示例代碼

node實現登錄圖片驗證碼的示例代碼:實現這里的圖形驗證碼我是用的node里svg-captcha模塊,可以全部支持字符和數字,全平臺支持,用起來很簡單。 1.安裝 cnpm i svg-captcha --save 2.在使用的地方導入 var svgCaptcha = require('svg-captcha'); 3.獲取驗證碼 3-
推薦度:
導讀node實現登錄圖片驗證碼的示例代碼:實現這里的圖形驗證碼我是用的node里svg-captcha模塊,可以全部支持字符和數字,全平臺支持,用起來很簡單。 1.安裝 cnpm i svg-captcha --save 2.在使用的地方導入 var svgCaptcha = require('svg-captcha'); 3.獲取驗證碼 3-

實現這里的圖形驗證碼我是用的node里svg-captcha模塊,可以全部支持字符和數字,全平臺支持,用起來很簡單。

1.安裝

cnpm i svg-captcha --save

2.在使用的地方導入

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

3.獲取驗證碼

3-1 安裝 cookie-parser ,作用是將獲取到的session保存到cookie,方便前端訪問驗證

cnpm i cookie-parser --save

3-2 使用 cookie-parser

const cookieParase = require('cookie-parser');

app.use(cookieParase());

這樣就可以在項目里使用cookie了

3-3 獲取驗證碼

// 獲取驗證碼
 getCaptcha(req, res, next){
 var captcha = svgCaptcha.create({ 
 // 翻轉顏色 
 inverse: false, 
 // 字體大小 
 fontSize: 36, 
 // 噪聲線條數 
 noise: 2, 
 // 寬度 
 width: 80, 
 // 高度 
 height: 30, 
 }); 
 // 保存到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();
 },

做到這只是實現了生成驗證碼的功能,那么要訪問呢?

4.編寫后臺路由

// 獲取驗證碼
router.get('/api/getCaptcha', function(req, res, next) {
 return api.getCaptcha(req, res, next);
})

當前端調用 /api/getCaptcha 這個接口的時候,返回驗證碼信息,是svg格式

5.前端訪問

<img src="https://www.gxlcms.com/api/getCaptcha" alt="captcha" >

但是現在我們又有需求了,當點擊這個驗證碼的時候,驗證碼會刷新

6.實現點擊驗證碼刷新

更改一下剛剛驗證碼的結果,給他加一個外層a標簽,并給他綁定一個點擊事件,我這里用了 vue ,所以是 @click ,其他框架同理.

<a href="#" rel="external nofollow" @click="editCaptcha">
 <img src="https://www.gxlcms.com/api/getCaptcha" alt="" ref="imgYzm">
</a>

點擊事件 editCaptcha

editCaptcha () {
 this.$refs.imgYzm.src = '/api/getCaptcha?d='+Math.random()
},

這樣就實現了點擊驗證碼刷新的問題

7.前端驗證驗證碼

剛剛我們在后臺得到了驗證碼,但是前端要怎么驗證呢?

記得在3-2的時候我們安裝了 cookie-parser ,并且在3-3里將生成的session保存在cookie里,這里我們前端就可以通過訪問這個cookie拿到驗證碼的值了。

為什么要保存在cookie里? 因為后端生成的session我們前端是訪問不到的,如果等訪問到的話,那還談什么安全性可言,所以保存一份在cookie里供前端訪問。

let captcha = document.cookie.split('=')[1]
 if(this.yzm != captcha){
 return this.$message.warning('驗證碼錯誤')
 }

最后的前端輸入賬號密碼驗證碼做登錄驗證等等我就不多概述了。具體思想就是這樣。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

node實現登錄圖片驗證碼的示例代碼

node實現登錄圖片驗證碼的示例代碼:實現這里的圖形驗證碼我是用的node里svg-captcha模塊,可以全部支持字符和數字,全平臺支持,用起來很簡單。 1.安裝 cnpm i svg-captcha --save 2.在使用的地方導入 var svgCaptcha = require('svg-captcha'); 3.獲取驗證碼 3-
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 亚欧免费视频一区二区三区 | 午夜精品一区二区三区免费视频 | 国产伦精品一区二区三区免 | 国产一区二区网站 | 99久久精品费精品国产一区二区 | 在线免费国产视频 | 黄毛片免费 | 国产成人h片视频在线观看 国产超级乱淫片中文 | 亚洲精品99久久久久中文字幕 | 久久久久久久国产高清 | 久久国产成人午夜aⅴ影院 久久国产精品成人免费古装 | 久久久久久国产a免费观看黄色大片 | 国产精品视频一区二区三区w | 欧美视频二区 | 欧美另类v| 精品欧美一区二区三区在线 | 青青国产成人久久激情91麻豆 | 香蕉视频911 | 日韩1页| 国产在线观看入口 | 亚洲综合欧美综合 | 中文国产成人精品久久久 | 国产一级特黄aaaa大片野外 | 亚洲国产成人久久99精品 | 婷婷在线免费视频 | 天天搞夜夜 | 亚洲欧美久久精品一区 | 欧美日本一区二区三区 | 亚洲国产精品成人综合久久久 | 欧美日韩国产中文字幕 | 国产成人精品三区 | 久久精品国产亚洲欧美 | 香蕉视频你懂的 | 97r久久精品国产99国产精 | 日韩精品一区二区三区在线观看l | 国产精品久久精品 | 一区二区三区日韩 | 国产高清一区二区三区 | 天天操天天插天天干 | 国产精品视频播放 | 久久久国产成人精品 |