找回密码的功能设计.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
找回密码的功能设计 2021-02-09 全部需要登录的网站,都会供应找回密码的功能,防止用户遗忘密码。 正确设计这个功能,保证平安牢靠,并不简约。下面就是平安专家 Troy Hunt 给出的设计指南。 一、如何保存密码 一个网站要想保证密码平安,第一步就是以正确的方法保存密码。一般说来,密码有三种保存方式。 (1)明文保存 明文保存就是用户的密码不动地写入数据库。这种方式最担忧全,极易泄漏,应当严格禁用。 (2)加密保存 加密保存就是使用密钥,将密码加密后,以密文保存进数据库。这种方式虽然有肯定的平安性,但是终究还是可以用密钥还原密码。因而,还是存在泄漏的可能,也不推举使用。 (3)哈希保存 哈希保存就是对密码使用哈希算法,将哈希值保存进数据库。为了添加随机性,防止彩虹表这一类的工具,计算哈希的时候,每个用户都有一个不一样的盐值(salt),也会同时保存进数据库。 哈希是单向运算,无法还原,所以即便哈希值泄漏,一般来说,也不会暴露用户的原始密码。 第一条规章:密码永久都要哈希保存。 二、密码重置 假如密码是哈希保存,用户一旦遗忘密码,网站也无法晓得原始密码是什么,只能让用户重置密码。 其次条规章:找回密码就是让用户重置密码。 重置密码又有两种做法。有的网站先自动改成一个随机密码,然后再让用户登录后本人改掉。这样做的风险在于,你必需把随机密码告知用户,通过邮件或短信,这个过程中就有可能泄漏。 第三条规章:重置密码的时候,要给出一个链接,让用户到网页上本人修改密码。 重置链接由于是明文传播,而且直接修改密码,所以必需有失效时间。一般来说,可以设成10分钟失效。 三、用户名还是邮件地址? 重置密码之前,必需晓得重置谁的密码。这时需要用户供应,注册时的邮件地址。 第四条规章:重置密码之前,假如用户供应了错误的邮件地址,不要提示他。 这是由于假如提示了,数据库不包含某个邮件地址,就可能像下图那样,泄露用户的隐私,被钓鱼者利用。 正确的做法是,不管用户输入什么邮箱,都向该邮箱发邮件。在邮件里说明,有人尝试重置密码,但是他输入的邮箱不在数据库里面。 假如不是接受邮件地址,而是依据用户名识别用户,就没有方法不提示,某个用户名能否存在。某些人的用户名格外特殊,一旦晓得该用户名存在,就几乎可以确定是该人注册的。 第五条规章:重置密码的时候,识别用户最好依靠邮件地址,而不是用户名。 四、过滤用户 为了防止机器人攻击,进入重置密码之前,最好加上 CAPTCHA 识别。 此外,还要防止一种情况:张三晓得李四的邮箱,然后使用找回密码功能,让系统给李四发出重置密码的邮件。 第六条规章:假如条件允许,重置密码之前,最好请用户回答一些个人问题,或者接受 2FA 验证,比如短信验证码。 最终,不要忘了记录 IP 地址,在邮件里面告知用户,哪个 IP 地址在申请重置你的密码。

文档评论(0)

liuxiyuliuxingyu + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档