zend-framework – 如何生成随机密码或临时URL,以便在Zend Frame
我有一个使用Zend_Auth_Adapter_DbTable的基本身份验证过程.我在身份验证控制器上有登录和注销操作.现在我想通过自动生成密码,保存新密码以及向他们发送包含新生成密码的电子邮件来创建一个重置忘记密码的功能.
这样做的最佳流程是什么?我该如何生成新密码? Zend Framework是否有任何可以使这更容易的东西? 我还听说过发送一封电子邮件,其中包含一个短期页面的链接,可以让他们设置一个新密码.如何使用Zend Framework完成这项工作?
Zend Framework没有密码生成类.这是一篇关于如何使用PEAR模块Text_Password生成密码的文章:
https://web.archive.org/web/1/http://blogs.techrepublic%2ecom%2ecom/howdoi/?p=118 但是,在普通电子邮件中发送密码并不是一种好的安全措施.相反,您应该重置他们的帐户,以便他们可以在不提供密码的情况下临时登录(给定您在电子邮件中发送的URL过期),一旦他们登录,就要求他们将自己的密码更新为他们所知道的密码.然后存储密码的盐渍哈希值. 这里有一些建议在Zend Framework中做到这一点: >使用以下字段定义表AccountReset:reset_id(GUID主键),account_id(对Accounts.account_id的引用)和到期(时间戳). 由于GUID仅通过电子邮件传递给该用户的地址,因此没有其他人可以获得更改密码的权限.即使用户的电子邮件被截获,GUID也只有有限的时间授予该访问权限. 如果您想要更加谨慎,可以记下AccountReset表中的客户端IP地址,并要求在30分钟的窗口内从具有相同IP地址的客户端更改密码. 这只是袖手旁观,我没有实施或评估它是否具有适当的安全性.如果您负责实施安全性,那么您有责任阅读安全问题.一个备受推崇的PHP安全资源是http://phpsecurity.org/. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |