驗證碼暴破 撞庫

2021-07-23 23:40:57 字數 2021 閱讀 5038

解決思路:

1、每次產生的驗證碼都做及時清除快取

2、使用者密碼做md5處理

3、使用者登入次數限制

@responsebody

public apiresult login(@requestparam(value = "user_name") string user_name, @requestparam(value = "user_pwd") string user_pwd, @requestparam(value = "user_code") string user_code) ,user_pwd={},user_code={}", user_name, user_pwd, user_code);

try

contextvo loginvo;

if (objectutils.isnotempty(map.get(user_name))) else

//是否快取使用者登入次數

if (objectutils.isnotnull(loginvo.getlogincount())) else

} else

map.put(user_name, loginvo);

//每五分鐘清理使用者登入次數

if (map.size() > 0 && objectutils.isnotnull(map.get(user_name)))

//驗證碼

string validatecode = (string) request.getsession().getattribute("login");

logger.debug("=validatecode=={}=", validatecode);

if (stringutils.isempty(validatecode) || !validatecode.equalsignorecase(user_code))

blluserinfovo blluserinfovo = new blluserinfovo();

blluserinfovo.setusername(user_name);

//md5

user_pwd = digestutils.md5digestashex(user_pwd.getbytes());

blluserinfovo.setuserpwd(user_pwd);

blluserinfovo = blluserinfoservice.selectbyusernameandpassword(blluserinfovo);

//登入並存入快取

if (objectutils.isnotnull(blluserinfovo)) ", userid);

//清除驗證碼

request.getsession().removeattribute("login");

return apiresult.build(resultcode.status_ok.getcode(), resultcode.status_ok.getname());

}//清除驗證碼,重新生成(前台呼叫)

request.getsession().removeattribute("login");

return apiresult.build(resultcode.auth_login_failed.getcode(), resultcode.auth_login_failed.getname());

} catch (exception e) ,user_pwd={},user_code={},message={},stacktrace={}", user_name, user_pwd, user_code, e.getmessage(), e);

return apiresult.build(resultcode.system_exceiption.getcode(), resultcode.system_exceiption.getname());}}

驗證碼 簡單驗證碼識別

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

驗證碼一(驗證碼生成)

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

12306驗證碼 驗證碼的架構

最近和眾屌絲一樣,在12306上面刷著春節回家的票。與她大戰無數個回合之後,終於搶到了一張回家的高鐵票,不斷感慨最近人品還不錯。當前,在使用12306的過程中,充滿很多的心酸,念叨了鐵道部的親人很多次 罪過 其中最讓人糾結的一項即是 驗證碼。12306採用驗證碼,無疑是一種很不錯的措施,可以在一定程...