记住密码怎样设计比较好?
程序员文章站
2024-01-21 17:22:22
...
如题,想了解
- 记住密码怎样设计算是比较好的,包括功能
- 密码保存后的安全隐患
- cookie里面需要保存哪些东西
- 如何给cookie加密以确保安全
希望可以详解。
回复内容:
如题,想了解
- 记住密码怎样设计算是比较好的,包括功能
- 密码保存后的安全隐患
- cookie里面需要保存哪些东西
- 如何给cookie加密以确保安全
希望可以详解。
可以效仿 Google 的設計。
- 幾乎永久地記住用戶名,密碼則每隔一段時間需要重新輸入。
- 登錄 token 被盜用(token 可以是加密了的用戶名、密碼,也可以是純粹的與服務器對應的隨機數),使得黑客即便沒有密碼也能登錄。(前者可能會是永久盜用,後者則依賴與過期時間、服務器的策略)
- 最好不要保存用戶名、密碼,即便是加密過的。只保存一個完全隨機生成的 token。服務器不但保存 token,還要保存對方的 IP、UserAgent 等信息,一旦發現變化,或者到期(比如 8 小時),就要求重新輸入密碼。
- 最好的「加密」就是沒有祕密。所有的祕密都在服務器端,拿到 token 也沒什麼用。
切記,不要以爲加密是安全的,即便不能破解算法本身,變相的攻擊也是很多的。如果用戶名密碼的簡單加密就可以作爲登錄的唯一憑據,那麼這段密文「本身」就是可以用來登錄的明文。
補充:絕對的安全不可能存在,因此登錄機制的任務不是保證登錄信息絕對安全,而是儘可能保證不會由登錄機制本身引入新的漏洞。
简单一点,可以将用户名加密一下保存就行,比如md5+salt,如果要安全一些,可以加一个过期时间