登陸失敗賬號鎖定

2022-06-11 03:57:11 字數 3920 閱讀 2166

一、session

//清空登入失敗記錄

cleanfailnum(session, username);

}

/**

* 校驗使用者登入失敗次數

/*** 新增使用者登入失敗次數

}/*** 清理使用者登入失敗的記錄

二、map

/**

* 移出非安全登入記錄

* *

@param

index_

*/private

void

removejptloginsecurity(string ip, string loginkey)

/*** 如果超出非安全登入記錄的儲存範圍,則自動刪除以往資料,非安全記錄範圍個數為30個

*/private

void

outjptloginsecurity()

}private

jptloginsecurity getsecurity(string ip, string loginkey)

security =nonsecurityindex.get(ip);

if (null ==security)

return

security;

}/*** 獲取登入賬戶是否被鎖定

* *

@param

index_

* @return

* @throws

exception

*/private

boolean islocked(string ip, string loginkey) throws

exception

calendar c =calendar.getinstance();

calendar now =calendar.getinstance();

c.settime(security.getlastlogintime());

if (0 < security.getlocked())

return

true;//

鎖定使用者未超過鎖定時間,不可登入

}

return

false

; }

/*** 驗證使用者是否安全,一次連續嘗試只能嘗試10次(預設5分鐘為一次連續嘗試) 如果使用者在一次嘗試中連續嘗試了10次以上則帳戶被鎖

* *

@param

ip * ip位址

* @param

loginkey

* 使用者登入方式

* @param

index_

* 非安全記錄索引

* @return

* @throws

exception

*/private

boolean issafe(string ip, string loginkey) throws

exception

else

//todo 判斷使用者是否安全

if (null ==security)

calendar c =calendar.getinstance();

calendar now =calendar.getinstance();

c.settime(security.getlastlogintime());

c.add(calendar.minute, 5);

if(c.after(now))

else

} else

}

private

static mapnonsecurityindex = null;

public

class jptloginsecurity implements

serializable

public

string getip()

public

void

setip(string ip)

public

string getloginkey()

public

void

setloginkey(string loginkey)

public

intgetlocked()

public

void setlocked(int

locked)

public

date getlastlogintime()

public

void

setlastlogintime(date lastlogintime)

public

intgetlogincount()

public

void setlogincount(int

logincount)

}

if (nonsecurityindex!=null&&islocked(ip, loginkey))

if (!issafe(ip, loginkey))

//

登陸成功後如果存在非安全登入資訊,則登入成功移除

if (null !=nonsecurityindex)

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

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

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

前言 為了防止黑客惡意嘗試破解你的伺服器密碼,需要進行一定的防護措施 宣告此設定在centos7系統上操作配置 遠端登陸限制配置auth required pam tally2.so onerr fail deny 5 unlock time 300 even deny root root unlo...

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

這裡主要的實現方式是資料庫表 當然這種方式適合練練手,還有一種更簡便的就是用快取實現,節省很多。基本邏輯是登陸失敗累計次數。三次丟擲限制定語。限定根據當前時間和資料庫鎖定時間進行判斷是否解鎖。最後資料狀態修改為0.public yhxx getlogin string username,string...