登陸三次失敗鎖定不給登陸

2021-09-26 08:00:08 字數 1136 閱讀 7598

這裡主要的實現方式是資料庫表+**。當然這種方式適合練練手,還有一種更簡便的就是用快取實現,**節省很多。

基本邏輯是登陸失敗累計次數。三次丟擲限制定語。

限定根據當前時間和資料庫鎖定時間進行判斷是否解鎖。

最後資料狀態修改為0.

**

public yhxx getlogin(string username, string pwd) throws serviceexception 

string yhdlm = yh.getyhdlm();

if (stringutils.isempty(yh))

int num = 0;

if (!yh.getyhdlmm().equals(md5util.encode(pwd))) else

num = yhdlxx.getfailurenum() + 1;

//存在則,登陸次數累計,到三次鎖定,並加上鎖定時間

yhdlxx.setfailurenum(num);

if (num == errorpasswordtimes)

if (num == errorpasswordtimes)

}int i = errorpasswordtimes - yhdlxx.getfailurenum();

throw new serviceexception("p-1", "密碼錯誤!您還有" + i + "次機會!");

}//根據鎖定時間和當前時間得到之間的分鐘數。

if (yhdlxx != null && yhdlxx.getfailurenum() - errorpasswordtimes >= 0)

}//登陸成清除資料

yhdlxx yhdlxx1 = new yhdlxx();

string uid = yh.getxxbm();

yhdlxx1.setuid(uid);

yhdlxx1.setfailurenum(num);

yhdlxx1.setlocktime(null);

return yh;

}

資料庫

僅供參考!

登陸失敗賬號鎖定

一 session 清空登入失敗記錄 cleanfailnum session,username 校驗使用者登入失敗次數 新增使用者登入失敗次數 清理使用者登入失敗的記錄 二 map 移出非安全登入記錄 param index private void removejptloginsecurity ...

python 登陸三次錯誤退出

登陸出現三次錯誤,退出程式 1 登陸 2def login 3 a input 4if a kate 5 b input 6if b 666666 7print 登入成功!8return true 9else 10 print 賬戶或密碼錯誤 11return false 12else 13 b i...

linux設定登陸n次失敗鎖定賬號

本文要實現的功能 如果有人惡意嘗試破解你的伺服器密碼,那麼這個功能就能幫你起到一定的作用,當嘗試密碼錯誤超過設定的次數後,就會鎖定該賬戶多長時間 自行設定 時間過後即可自行解鎖,這樣可以增加攻擊者的成本。伺服器系統 centos6.5 centos其他版本應該也是可以的,請自行測試 cp etc p...