登入功能模組的設計需要注意一下幾點:
1、登入名+密碼:這種方式簡單有效,破解成本低、高危。
3、登入名+密碼+登陸限制:登入名密碼錯誤達到一定次數時、拒絕使用者登入,隔一段時間在恢復,這種方式可以解決被爆破的問題,但迎來另乙個風險即攻擊者可以讓所有使用者都無法登陸(登陸限制)。
4、登入名+密碼+ip限制:獲取登陸ip在登陸錯誤次數達到一定時進行封ip,但使用同一ip的會被誤殺或切換vpn進行攻擊。
5、登入名+密碼+手機驗證:當錯誤次數到達一定是、彈出手機驗證,需要使用者使用手機驗證和密碼雙重認證進行登入,結合上面的方式同時加上手機驗證碼的驗證模式,可以阻止相當多的一部分惡意攻擊者。
但是沒有系統是絕對安全的,我們只是盡可能的增加攻擊者的攻擊成本。大家可以根據自己的實際情況選擇合適的策略。
值得一提的是中間人攻擊?
中間人攻擊,簡單的來說就是,a和b在通訊過程中,攻擊者通過嗅探、攔截等方式獲取或修改a和b的通訊內容。
as:小白給小黃髮快遞、途中要經過快遞點a,小黑就藏在快遞點a或者乾脆自己開乙個快遞點b來冒充快遞點a,然後偷偷的拆了小白給小黃的快遞,看看裡面啥東西甚至可以把小白的快遞留下自己在打包乙個一樣的箱子發給小黃。
在登入過程中如果攻擊者在嗅探到客戶端發往服務端的登入請求,就可以很輕易的獲取到使用者的使用者名稱和密碼。
防範中間人攻擊最簡單也是最有效的乙個操作,更換https,把http更換為https。
https實際上就是在http和tcp協議中間加入了ssl/tls協議,用於保證資料的安全傳輸。
優點:內容加密、資料完整性、身份驗證
在https之外,我們還可以手動對敏感資料進行加密傳輸:
1、使用者名稱可以在客戶端使用非對稱加密,在服務端解密
2、密碼可以在客戶端進行md5之後傳輸,防止暴露密碼明文
除了上面的這些以外,其他的也可以考慮,如:
1、操作日誌:使用者的每次登入和敏感操作都需要記錄日誌
3、拒絕弱密碼:註冊或修改密碼時,不允許使用者設定弱密碼
4、防止使用者名稱被遍歷:需要在互動或邏輯上做限制(在輸入完使用者名稱之後會提示使用者名稱是否存在、這樣會存在使用者名稱被洩露的風險)
微信登入功能模組的坑
前端 如下 page onready function ongotuserinfo userres success function res class wxlogin public function login code catch exception e 注 預設情況下,php是不支援curl功...
cenos需要注意的小功能
虛擬機器全屏快捷鍵 ctrl alt enter就能全屏了在圖形介面如何開啟命令列 是個偽終端 ubuntu下可以ctrl alt t調出來 退出命令列 輸入exit即可清屏命令 輸入clear即可關閉計算機 需要切換到root賬號下 su 切換 然後輸入關機命令 shutdown h now 立即...
功能測試需要注意的地方
4.字串長度檢查 輸入超出需求所說明的字串長度的內容,看系統是否檢查字串長度。還要檢查需求規定的字串長度是否是正確的,有時候會出現,需求規定的字串長度太短而無法輸入業務資料。5.字元型別檢查 在應該輸入指定型別的內容的地方輸入其他型別的內容 如在應該輸入整型的地方輸入其他字元型別 看系統是否檢查字元...