5

我设置了一个“忘记密码”系统,该系统会向用户发送一封带有重置链接的电子邮件。M 问题是:我怎样才能防止滥用这个系统?我如何确保人们不会使用它来向人们的收件箱发送垃圾邮件,但仍然可以为需要它的人使用它?

4

5 回答 5

4

询问注册的电子邮件地址而不是用户名?恶意用户不太可能知道它。

或者,在您的用户表中有一个 TimeOfLastReset 字段,并在您发送电子邮件时更新此字段。如果 CurrentTime-TimeOfLastReset 太小,则不要发送。

于 2011-05-09T23:07:21.623 回答
1

发送恢复电子邮件时,记录它发生的时间。如果在预设的时间间隔(15 分钟?6 小时?一天?)内有任何进一步/太多的恢复请求,请打印一条消息并且不要发送电子邮件。

于 2011-05-09T23:07:50.137 回答
0

1)您必须知道您的电子邮件地址(不仅仅是用户名) 2)您只能在一段时间内重置您的密码 3)重置不会立即起作用,您必须单击邮件中的链接

于 2011-05-09T23:08:17.730 回答
0

不要认为它真的有可能被垃圾邮件发送者滥用。

对于垃圾邮件发送者来说,发送给用户的自动消息(具有固定内容)是无用的。

但是,您可以做的是将会话 ID 添加到隐藏字段并在提交时检查它。或者在表单中添加一个带有空值的隐藏 ( disply: none) 字段。name="message"并检查表单提交时是否仍然为空。

让用户填写他们的用户名和电子邮件地址并进行验证。

于 2011-05-09T23:10:01.543 回答
0

如果您使用电子邮件作为登录用户名,这应该不是什么大问题,因为不是每个人都知道他们的电子邮件,而且为了让他们能够重置,他们的电子邮件必须在数据库中匹配。因此,只有在有人输入有效电子邮件时才会发送和重置。

于 2011-05-09T23:10:36.537 回答