首先需要匯入工具包,直接在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 建立,定義顏色...