flask驗證碼問題

2021-08-15 22:59:02 字數 754 閱讀 5447

場景:

前後端分離的web,採用token認證方式。後台需要生成驗證碼供給前端,前端返回輸入的驗證碼之後後台進行比對。

(注:後端使用flask,flask中的session基於secure session加密寫入cookie傳到瀏覽器)

問題:驗證碼需要在後台驗證

方法:將驗證碼設為global

結果:暫時可用但衍生新的問題

問題ii:

設為global的驗證碼生成方式下,前端獲取到的驗證碼只能是本次最新,即開啟兩個登入頁面,最新生成的驗證碼只有乙個。

造成了驗證碼只能一次驗證。

分析:早期使用session,後台返回驗證碼資訊同時寫入乙個session,有乙個sessionid的字段和當前這個驗證碼對應。所以當使用者輸入使用者名稱、密碼和驗證碼的時候,瀏覽器自動把存有session資訊的cookie傳送到伺服器,伺服器基於session可以判斷當前這個驗證碼確實是a使用者應該要輸入的。但目前系統採用token認證(方便整合),沒有引入session,此處無法使用session(請求過來之後,將是兩個session)。無法獲取到生成的驗證碼。因此只能採用無session的方式來獲取驗證碼.

方法:可以採用

1、前端請求後端,後端返回驗證碼和驗證碼id。

2、後端將id和驗證碼記錄在快取redis中。

3、前端請求登陸,傳入id和驗證碼及相關登陸資訊,讓後端匹配驗證碼。

4、後端按id查出驗證碼,對剛傳入的驗證碼進行匹配。

5、匹配成功,登陸成功;匹配失敗,返回異常資訊。

驗證碼問題處理

驗證碼處理方式 1.識別 python當中提供了一部分驗證碼識別庫 2.萬能驗證碼 開發同學提供的 缺點 開發有工作量,到生產環境這個邏輯需要去掉 3.debug 手工輸入後,在執行 點選登入 缺點 不能持續整合 4.導資料庫中拿 驗證碼生成邏輯 後端有乙個演算法,生成驗證碼,儲存後,傳給前端,前端...

驗證碼 簡單驗證碼識別

這裡的驗證碼是內容非常簡單的,結構非常清晰的 這裡的驗證碼是內容非常簡單的,結構非常清晰的 這裡的驗證碼是內容非常簡單的,結構非常清晰的 興之所至之所以說簡單,我覺得是這樣的 抽了五張驗證碼扔進ps,50 透明度,長這樣 只有數字為內容 每張圖的數字都在固定位置 沒有太大的干擾因素 數字字型,形態完...

驗證碼一(驗證碼生成)

根據手機好查詢密碼 return type description code for i 0 i 6 i 4位驗證碼也可以用rand 1000,9999 直接生成 將生成的驗證碼寫入session,備驗證時用 session start session verify num code 建立,定義顏色...