关于OpenID,你看到了一点(在Geek社区中).这似乎是一个好主意.我正在开发一个网站,针对的是一些不那么讨厌的观众(但也不是妈妈和流行音乐节目),所以我不得不怀疑OpenID对某些观众来说是否"太难"了.
你怎么看?除此之外,还有其他技术或非技术原因不使用OpenID吗?
当有人丢失密码时,他们会点击丢失或忘记的密码链接.他们将需要输入自己的电子邮件地址,然后回答他们自己的秘密问题,如果这个秘密的问题是正确的,电子邮件将与24小时后失效的链接发送给他们.
在发送电子邮件时,会在包含此信息的数据库表中输入记录: - 需要重置密码的人的电子邮件 - 重置密码的时间将到期 - 请求休息的时间密码已提交.
发送的链接将引导用户输入允许他们输入新密码的表单.在这种形式下,他们需要输入他们的电子邮件地址和密码X2.
当他们点击提交时,会对db进行检查以确保电子邮件有效(密码正在重置)并且尚未过期(通过比较两个日期以查看到期时间是否已过,这是24小时)
如果电子邮件是有效的,且尚未到期,这两个密码相匹配和满足最低的REQ,那么新的密码应用.
成功时会显示确认消息.
Q1.这是密码恢复的好模型吗?Q2.如何确保发送到用户地址的链接是唯一的?在那个没有人会得到相同的链接?所以,没人能随便去的密码重置页面,并尝试不同的电子邮件,而有需要重置有,对于只考虑工作的自己独特的URL每个帐户.
关于Q2:
我在想,当用户要求有自己的密码重置时,产生并存储在24小时后失效相同的记录一个随机的唯一ID.这个随机唯一id的列可以被称为"rid"
将发送给用户的电子邮件中的链接将以?rid = xxxxxxxxxxxxx结尾
当用户在重置密码的页面中单击"提交"时,页面顶部的"rid"用于从db获取相应的电子邮件地址,以将其与表单中的电子邮件地址进行比较.这样做可以确保每个密码重置案例都有自己唯一的URL,其他帐户无法使用该URL重置其密码.
这是一个可行的解决方案?
任何贡献或建议将不胜感激.