我正在实现Django密码重置,以便当用户使用django.contrib.auth.urls键入他/她的电子邮件ID时发送恢复密码链接,
这来自Django文档,
如果系统中不存在所提供的电子邮件地址,用户处于非活动状态或密码不可用,则仍将用户重定向到该视图,但不会发送电子邮件。
我的问题是,
如果我添加类似EmailValidation之类的内容以检查用户键入的电子邮件是否存在于数据库中并引发ValidationError,这是否会成为安全问题?
答案 0 :(得分:1)
很明显,因为这将使黑客能够蛮力猜测电子邮件。并且,如果用户的密码强度不够强,则他可能会使用蛮力或猜测来强制登录(如果没有其他安全方法)。我建议也将captcha放在重置页面上,以防止漫游器进入重置密码页面。