1

我正在为 C#.net 中的一个网站创建一个登录页面,遇到了一个问题,希望你们能帮助我。

情况是这样的:用户来到登录屏幕,然后从那里输入他们的电子邮件,我们将参考数据库来检查有效性,如果有效,将随机生成一个 8 位密钥生成并发送到电子邮件。用户现在应该检查他/她的电子邮件以获取“一次性密码”,然后键入一个文本框以继续。

生成和电子邮件发送已完成,但我不确定如何继续执行此操作

我的团队成员之间进行了一些讨论,其中一位提议使用会话超时,然后当单击按钮时,将发送电子邮件,将创建一个会话变量并在其中存储一次性密码,然后我们将引用用户使用会话变量输入的文本框文本,如果正确,他们将登录。

我想到的另一种方法是使用 Javascript 计时器,然后在网页上使用不可见的标签进行引用。但我不确定Javascript是否可以允许这种情况发生..

对于这种情况,您最好的方法是什么?

谢谢!

4

1 回答 1

7

它是时间敏感的,只需将代码存储在具有到期日期时间的数据库中。然后,当用户带着他们的令牌回来时,您可以查看它是否还没有过期,如果已经过期,那么请他们重新开始这个过程。

于 2012-10-24T10:32:26.960 回答