欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

记住密码怎样设计比较好?

程序员文章站 2024-01-21 17:22:22
...
如题,想了解
  1. 记住密码怎样设计算是比较好的,包括功能
  2. 密码保存后的安全隐患
  3. cookie里面需要保存哪些东西
  4. 如何给cookie加密以确保安全

希望可以详解。

回复内容:

如题,想了解

  1. 记住密码怎样设计算是比较好的,包括功能
  2. 密码保存后的安全隐患
  3. cookie里面需要保存哪些东西
  4. 如何给cookie加密以确保安全

希望可以详解。

可以效仿 Google 的設計。

  1. 幾乎永久地記住用戶名,密碼則每隔一段時間需要重新輸入。
  2. 登錄 token 被盜用(token 可以是加密了的用戶名、密碼,也可以是純粹的與服務器對應的隨機數),使得黑客即便沒有密碼也能登錄。(前者可能會是永久盜用,後者則依賴與過期時間、服務器的策略)
  3. 最好不要保存用戶名、密碼,即便是加密過的。只保存一個完全隨機生成的 token。服務器不但保存 token,還要保存對方的 IP、UserAgent 等信息,一旦發現變化,或者到期(比如 8 小時),就要求重新輸入密碼。
  4. 最好的「加密」就是沒有祕密。所有的祕密都在服務器端,拿到 token 也沒什麼用。

切記,不要以爲加密是安全的,即便不能破解算法本身,變相的攻擊也是很多的。如果用戶名密碼的簡單加密就可以作爲登錄的唯一憑據,那麼這段密文「本身」就是可以用來登錄的明文。

補充:絕對的安全不可能存在,因此登錄機制的任務不是保證登錄信息絕對安全,而是儘可能保證不會由登錄機制本身引入新的漏洞。

简单一点,可以将用户名加密一下保存就行,比如md5+salt,如果要安全一些,可以加一个过期时间

相关标签: 密码 php