2014-11-24 86 views
0

我正在通過安全任務,我們正在強化PHP應用程序以抵禦安全問題。我們建議我們做的一件事是'驗證用戶的IP地址和瀏覽器'。爲什麼要驗證登錄用戶的IP地址和瀏覽器?

我可以看到爲什麼您可能需要驗證IP地址的幾個原因:您可以檢查用戶是否在使用他們的「家庭」IP地址,並詢問他們是否使用了不常見的IP 。

這是它的基本要點嗎?還有什麼你想要處理他們的IP和瀏覽器信息?

+0

通用IP驗證過程,以檢查是否它不是從一種罕見的地理位置。例如,從美國登錄的用戶無法在5分鐘內從南非登錄......您還可以檢查RIPE數據庫以說明IP欺騙,並且您可能有需要管理員的系統驗證IP可用於登錄... – RichardBernards 2014-11-24 13:49:07

+0

需要注意的一點是,公共WiFi,移動設備和通過代理訪問您的網站的用戶通常可能來自不同的地點,即使在很短的時間內也是如此。你也有來自一個IP(公共WiFi,工作網絡等)的多個用戶的問題,這使得將cookies和會話信息綁定到特定的IP是一個壞主意。用戶代理字符串不可靠(可以輕鬆更改),但對於(誠實的)機器人和搜尋器的特徵檢測和識別非常有用。我會更多關注在請求之間變化的IP/UA。 – 2014-11-24 14:11:59

+0

這個問題似乎脫離主題,並會更好地適應在http://security.stackexchange.com/。 – 2014-11-24 14:28:12

回答

1

驗證用戶IP和瀏覽器的主要思想與會話劫持攻擊有關。以下威脅可以算作最常見的情況:

  • 攻擊者可以對你的客戶做中間人攻擊(MITM),並且可以獲得會話密鑰(cookie)。這意味着攻擊者可以使用這個cookie值並破解客戶端帳戶。
  • 您的應用程序可能容易受到跨站點腳本攻擊。這意味着攻擊者可以控制客戶端的瀏覽器內容並執行任何Javascript代碼。這意味着攻擊者可以獲得會話密鑰(cookie)客戶端。

您需要保護客戶,即使他們丟失了他們的cookie值。最好的辦法是檢查客戶的IP。

另外信息[1]:https://www.owasp.org/index.php/Session_hijacking_attack

另外信息[2]:https://www.owasp.org/index.php/Session_Management_Cheat_Sheet