【问题标题】:Better ways to generate codes in django (python)在 django (python) 中生成代码的更好方法
【发布时间】:2021-06-19 03:55:16
【问题描述】:

我正在开展一个身份验证项目,我正在应用不同的功能,例如电子邮件验证、密码重置,这些功能依赖于电子邮件。

现在我想通过电子邮件向用户发送代码并在后端验证。

现在生成代码(5位),这就是我所做的;

import random
code = random.randint(10000, 99999)
print(code)

我只是想知道这是一种更好的方法。有什么缺点还是还好。

【问题讨论】:

  • 一行代码。你怎么可能做得比这更好?
  • Django 已经有一些内置的电子邮件验证助手。你应该使用它。您的方法的缺点是您需要将此令牌存储在数据库中,而 Django 将创建加密签名的令牌,不需要任何保存。这些令牌是自包含的,即它们将以加密方式嵌入验证码。
  • @TimRoberts 我的意思不是缩短代码,而是缩短代码的方法。
  • @xyres 能否请您提及其中的一些内容。
  • 另外我不希望发送验证链接而是发送验证码

标签: python django random django-rest-framework


【解决方案1】:

搜索后,我认为我不需要任何特殊的代码创建者,但我可以使用问题中提到的那个,我可以通过在开头和结尾添加一些特殊字符来使其更特别,也许还有数量不等。

我还可以对发送到路由的请求进行计数,如果超过 3 个(比如说),只需刷新代码,使其更安全。

另一种方法是跟踪时间并在 3 分钟后删除代码。

另一种方法是在每次用户提供错误代码时创建新代码并删除旧代码。这对我来说似乎是一个不错的选择,但我认为它的效率有点低,因为它需要发送电子邮件。

【讨论】:

  • 请留下您的建议
猜你喜欢
  • 2012-05-04
  • 1970-01-01
  • 1970-01-01
  • 2015-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-26
  • 1970-01-01
相关资源
最近更新 更多