小記 驗證碼操作

2021-10-25 07:28:54 字數 2805 閱讀 7862

首先需要匯入工具包,直接在mvn倉庫搜尋(注意是這個頭像,不要引錯了,有幾個名字重複的):

//驗證碼配置類,spring啟動就會將配置類載入spring容器當中

@configuration

public

class

kaptchaconfig

當然,kaptcha中有很多配置,詳細配置如下:

kaptcha.border 邊框,合法值:yes , no yes

kaptcha.border.color 邊框顏色,合法值: r,g,b (and optional alpha) 或者 white,black,blue. black

kaptcha.border.thickness 邊框厚度,合法值:>0 1

kaptcha.image.width 寬 200

kaptcha.image.height 高 50

kaptcha.producer.impl 實現類 com.google.code.kaptcha.impl.defaultkaptcha

kaptcha.textproducer.impl 文字實現類 com.google.code.kaptcha.text.impl.defaulttextcreator

kaptcha.textproducer.char.string 文字集合,驗證碼值從此集合中獲取 abcde2345678gfynmnpwx

kaptcha.textproducer.char.length 驗證碼長度 5

kaptcha.textproducer.font.names 字型 arial, courier

kaptcha.textproducer.font.size 字型大小 40px

kaptcha.textproducer.font.color 字型顏色,合法值: r,g,b 或者 white,black,blue. black

kaptcha.textproducer.char.space 文字間隔 2

kaptcha.noise.impl 干擾實現類 com.google.code.kaptcha.impl.defaultnoise

kaptcha.noise.color 干擾顏色,合法值: r,g,b 或者 white,black,blue. black

kaptcha.obscurificator.impl 樣式:

水紋com.google.code.kaptcha.impl.waterripple

魚眼com.google.code.kaptcha.impl.fisheyegimpy

陰影com.google.code.kaptcha.impl.shadowgimpy com.google.code.kaptcha.impl.waterripple

kaptcha.background.impl 背景實現類 com.google.code.kaptcha.impl.defaultbackground

kaptcha.background.clear.from 背景顏色漸變,開始顏色 light grey

kaptcha.background.clear.to 背景顏色漸變,結束顏色 white

kaptcha.word.impl 文字渲染器 com.google.code.kaptcha.text.impl.defaultwordrenderer

kaptcha.session.key session key kaptcha_session_key

kaptcha.session.date session date kaptcha_session_date

設定完後,咱們的spring就直接將配置類放入容器中管理了,

然後就可以驗證了:

@autowired

private producer kaptchapro;

// 跳轉至登陸介面

(value =

"login"

,method = requestmethod.get)

public string login()

// 設定登陸介面的驗證碼

我寫的是登陸驗證,所以需要做的就是將kaptcha建立的隨機組合字元放入session中,以便我在前端介面輸入的跟它匹配驗證,然後就是將在text的基礎上建立的以流的形式反饋給前端介面。

如下:

引用:

驗證碼安全測試小記

驗證碼的應用場景有很多,但相對較多的是用在登入頁面 支付頁面或敏感資訊修改的地方需要輸入,有的時候登入頁面雖然設定了驗證碼機制,但是很有可能存在驗證碼可被繞過的情況,如此一來可能帶來使用者密碼暴力破解或窮舉應用系統的使用者名稱資訊等風險。下面分析一下驗證碼可能被繞過的幾種情況。1 登入頁面壓根就沒有...

驗證碼 簡單驗證碼識別

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

驗證碼一(驗證碼生成)

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