使用者登入是系統中最重要的功能之一,登入成功就能擁有系統的相關使用許可權。所以設計乙個安全的登入流程是十分必要的。保護使用者賬號不被黑客竊取,既是在保護使用者的基本利益,更是在保護**的信譽和業務發展。
流程安全性
安全的登入流程必須使用 https 協議。https 協議具有較高的安全性,可以保證資料傳輸過程的安全。雖然有 fiddler 等**方式可以擷取資料,但一般情況下沒有使用者的配合也無法擷取。https 證書可以在阿里雲申請,個人站點可以直接用免費版,非常方便。nginx 和 spring boot 的配置也非常簡單。
登入一定要有人機驗證機制,可以防止黑客以暴力破解的方式嘗試登入。通常可以用驗證碼,並且要加干擾線,使用不同的字型、大小寫提高識別難度。目前有打碼平台和 ai 方式可以識別驗證碼,但是成本比較高。一些大型**已經在使用新的驗證方式,比如拖動滑鼠移動滑塊或者把乙個傾斜的扶正,攻擊的難度還是比較高的。
一定要注意防範 xss、csrf 攻擊。攻擊者通過在目標**上注入惡意指令碼,可以在其他使用者的瀏覽器上執行指令碼。利用這些惡意指令碼,攻擊者可獲取使用者的敏感資訊。使用者提交的任何資料都要保持懷疑態度,不能完全信任,該過濾就過濾,該攔截就攔截。國內大型**,比如**也存在過 csrf 漏洞,可見大家對這種攻擊形式還比較陌生。
後台登入**要注意防範 sql 注入攻擊。如果黑客提交 password or 1 = 1 而後台沒做 sql 防注入,只是查詢下資料是否存在,有可能就攻擊成功了。所以 or 1 = 1 有個響亮的名字,叫萬能密碼。恐怕大家在做大學作業的時候,都有這個漏洞吧。
登入成功後,返回的 cookie 要設定 httponly、secure,這樣就無法通過 js 指令碼獲取 cookie,可以防止跨站攻擊,增加爬蟲程式的難度。cookie 有效期根據業務需求決定,盡量短一些。曾經我也做過爬蟲,爬網銀的時候就處理過很多這樣的 cookie,比普通 cookie 複雜很多。
密碼安全性
盡量提公升密碼強度。一般來說,長度要 8 位以上,必須同時包含數字、小寫字母、大寫字母,建議使用者使用特殊字元。
使用者名稱密碼錯誤提示含糊一些。無論是使用者名稱還是密碼錯誤,統一提示「使用者名稱或密碼錯誤」,不要給使用者明確的提示。這樣會在一定程度上讓忘記使用者名稱的使用者難以登入,可以輔助乙個使用者名稱找回機制或允許使用郵箱、手機號進行登入。
不要在瀏覽器中明文儲存使用者名稱、密碼,md5 加密也不行。如果要自動登入,可以儲存 rsa 加密後的密文,通過 cookie 提交密文進行解析來自動登入。md5 或者 md5(md5) 在今天已經不安全了,黑客的彩虹表可能已經覆蓋了大多數資料了。
保護好使用者
密碼落庫必須加密。csdn當年使用明文儲存密碼導致被脫褲後完全公開了使用者密碼,給使用者和**帶來了極大的風險。基於彩虹表能夠很方便地破解 md5、sha1 等古老演算法的密文,建議至少使用 sha256 及以後的演算法,並且加密過程加鹽。鹽的長度最好也要在 64 位以上。如果條件允許,給每個使用者設計乙個獨有的鹽值,將極大提公升安全性。
資料庫要保留使用者的歷史密碼,修改密碼時,不能和前幾次一樣。如果黑客掌握了某個歷史密碼,也可能在使用者改回後恰好就對上了。參考 google 賬號登入,修改密碼和 6 個月前的一樣都是不行的。
保留使用者的登入記錄。時間、ip 都需要。如果本次 ip 和以前的有較大的差別,可以通過郵箱、簡訊、站內信等向使用者提示,建議使用者修改密碼。使用者長時間沒有登入,後續再登入的時候最好強制修改密碼,並且和歷史密碼不重複。
短時間內登入失敗,要鎖定使用者。比如失敗 5 次可以鎖定 1 小時,再次失敗鎖定 8 小時,又失敗鎖定 24 小時。鎖定後,使用者可以通過註冊郵箱或手機簡訊實現解鎖,但一天內也要限制解鎖次數。
即使在使用者登入後,進行重要操作的時候,也要求使用者重新輸入一次密碼。比如修改密碼、修改繫結郵箱、修改密碼保護問題、有消費行為等,可以防止使用者被 xss 攻擊後黑客修改重要資料。
總結本文梳理了設計登入流程需要考慮的一些關鍵點。世界上沒有絕對安全的系統,有價值的**和應用都是黑客攻擊的重點物件。工作中務必重視安全問題,發現漏洞及時修復。也要考慮**資料的重要程度,採取合適的防護措施。
被黑客攻擊了,登入流程要怎麼做才安全
使用者登入是系統中最重要的功能之一,登入成功就能擁有系統的相關使用許可權。所以設計乙個安全的登入流程是十分必要的。保護使用者賬號不被黑客竊取,既是在保護使用者的基本利益,更是在保護 的信譽和業務發展。安全的登入流程必須使用 https 協議。https 協議具有較高的安全性,可以保證資料傳輸過程的安...
昔日被黑客攻擊 如今僱黑客攻擊他人被抓獲
先是進行網路攻擊導致網咖網路癱瘓,接著以維護網路安全為由進行敲詐勒索。廣東肇慶市一名網咖老闆,今年初以來夥同兩名湖南人,竟想出了敲詐同行發財的主意。他們僱傭一名黑客,四處出擊,使長沙十餘家網咖頻頻掉線,然後再對網咖業主進行敲詐勒索。昨日,長沙 通報稱,經過縝密偵查,終於將這一敲詐勒索團夥打掉,破獲網...
網遊遭史上最大黑客攻擊 四遊戲被黑
我的不少朋友一起玩 完美時空 的4款遊戲,6月10日晚上,大家突然都不能登陸遊戲了。上海玩家史小姐致電晨報 稱自己在登陸網路遊戲 完美世界國際版 時,發現無法進入遊戲,而遊戲運營商北京完美時空網路技術 的官方主頁也始終無法開啟。史小姐和她的朋友們並沒有料到,這次遊戲不能登陸可能與中國網路史上最大的黑...