在将此问题标记为可能重复的问题之前,我想先解决一些问题。
我想确保用户有一个名为 email
的电子邮件字段。他们还有一个 is_verified
字段来指示电子邮件是否已经过验证。
大多数电子邮件验证实现都存在一些缺陷。 假设用户创建了一个帐户并拥有未经验证的电子邮件。不过,假设用户实际上并不拥有该电子邮件。
现在,电子邮件的实际所有者进入该网站。但是,由于电子邮件已保存在数据库中,我们收到完整性错误 - 该电子邮件已在使用中。
因此,任何诈骗者都可以输入随机电子邮件并索取它。 这降低了用户体验。如何避免这种情况的发生,从而提供一个完整的邮件验证系统呢? (实际所有者可以在其中索取他们的电子邮件)
那么,当用户使用已由其他用户拥有但未经验证的电子邮件注册时,是否应该删除现有用户?或者我们应该显示完整性错误消息?什么是正确的做法?
非常感谢!
最佳答案
是的,在注册过程中添加验证步骤非常重要。
首先创建一个电子邮件模板并发送一封独特的电子邮件 用户注册时向其发送代码。实现免费电子邮件服务 从 Django 开始:
在这里检查我的答案: How to send email via Django?
比在寄存器函数中每次生成一个随机字符串 查看通过邮件发送验证码。例如。
verifyCode = random.choice( ["a", "b", "c", "d", "x", "y", "z"]) + str(random.randint(100000, 1000000))
创建一个临时表来存储未经验证的用户数据并 邮箱验证完成后删除,然后存入主目录 用户表。
根据您的上一个问题,如果用户使用未经验证的电子邮件注册,则不应将其存储在主用户表中。不要使用该电子邮件和用户名登录(授予访问权限)该用户到您的网站。
希望这是你想要的。
关于django完成电子邮件验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67345540/