一、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
}
privatestatic mapnonsecurityindex = null;
publicclass 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...