>백엔드 개발 >PHP 튜토리얼 >记住密码怎样设计比较好?

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

WBOY
WBOY원래의
2016-06-06 20:42:531467검색

如题,想了解

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.