新聞中心
Redis是一款開源的、進程內(nèi)內(nèi)存數(shù)據(jù)庫,無論在讀寫性能、資源占用率和可伸縮性上都有出眾的表現(xiàn),它可以用來操作簡單的鍵值對數(shù)據(jù)也可以用來構(gòu)建緩存系統(tǒng)等,極大的豐富了web開發(fā)的能力。如果能利用Redis的特性來限制用戶的登錄地址,結(jié)合傳統(tǒng)的賬號密碼登錄方式,那么將大大提升用戶的賬號安全性。

嘉興網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)公司自2013年起到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
在WEB系統(tǒng)中,存在非法登錄者會嘗試任何可能的賬號密碼組合以及不同的IP和登錄地址來暴力破解賬號,因此要想限制此類惡意攻擊,必須對某個IP地址做限制,將用戶的登錄地址限制于指定的幾個地址,則極大的減少了用戶被攻擊的幾率,避免盜號事件的發(fā)生。
實現(xiàn)上述功能,首先需要利用Redis的有序集合來存儲用戶當前與之關(guān)聯(lián)的IP地址,可以將用戶名當做鍵,IP地址當做值來存儲(例如:hsert.user.IP.12345: 127.0.0.1),在登錄時先去Redis拿取該賬號與之關(guān)聯(lián)的IP地址,如果不在白名單中,則不予登錄;否則,允許登錄,并將新的登錄IP添加到Redis中,實現(xiàn)限制多登錄地址的功能,可以使用以下的代碼完成:
// login
String userId; // 需要登錄的賬號
String ip; // 需要登錄的地址
// Redis Key
String key = "user.IP." + userId;
// IPs for this user
Set ips = jedis.smembers(key);
if( !ips.contns(ip) ) {
// No found in the list, means this IP is not allowed
return false;
}
//Everything OK
return true;
// 則將新的登錄IP添加到Redis中
jedis.sadd(key, ip);
使用Redis限制用戶登錄地址可以極大的提升用戶的賬號安全性,只有被綁定的地址才能登錄,這可以減少惡意機器人破解賬號的成功率。之后如果有登錄異常發(fā)生,可以根據(jù)異常登錄IP地址來進行必要的安全措施,一步步保障用戶賬號安全。
成都服務(wù)器租用選創(chuàng)新互聯(lián),先試用再開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務(wù)器和獨立服務(wù)器。物理服務(wù)器托管租用:四川成都、綿陽、重慶、貴陽機房服務(wù)器托管租用。
本文題目:用Redis限制登錄地址來提升安全性(redis限定地址登錄)
轉(zhuǎn)載來源:http://fisionsoft.com.cn/article/djecdjc.html


咨詢
建站咨詢
