12

我正在考虑一个论坛类型的系统,它允许用户在没有帐户但通过电子邮件验证的情况下发布/编辑帖子。

因此,您将填写表格、提供电子邮件地址、提交,然后在电子邮件中收到一个链接,该链接将“激活”您的帖子。同样的事情要编辑。单击“编辑”,接收带有链接的电子邮件,链接将带您编辑表单。

我正在尝试了解安全执行此操作的确切步骤。如何创建将在一段时间后过期的链接?我如何确保它来自电子邮件地址,而不仅仅是一些通过潜在网址循环的机器人?

任何帮助开始正确的方向表示赞赏。

我在Heroku上使用 Python、 flaskPostgres

4

1 回答 1

16

由于您使用的是烧瓶,您可能想查看它的危险库:

https://itsdangerous.palletsprojects.com/en/2.0.x/

使用 itsdangerous,工作流程可能类似于:

  1. 用户输入电子邮件并发布。
  2. itsdangerous使用可以绑定到特定电子邮件的模块生成安全链接
  3. 一旦用户收到电子邮件和步骤 2 中生成的特定 URL,他们就可以单击它来确认帖子。您甚至可以在用户单击此 URL 时添加额外的检查层,您可以要求他们再次输入他们的电子邮件地址,然后将其与与该 URL 关联的电子邮件进行匹配。
于 2012-11-13T20:15:21.020 回答