Maison >développement back-end >tutoriel php >记住密码怎样设计比较好?

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

WBOY
WBOYoriginal
2016-06-06 20:42:531466parcourir

如题,想了解

  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,如果要安全一些,可以加一个过期时间

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn