解決思路:
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採用驗證碼,無疑是一種很不錯的措施,可以在一定程...