什么是安全的"通过电子邮件验证"系统的工作流程?

chr*_*kso 11 python email email-verification flask

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

因此,您需要填写表单,提供电子邮件地址,提交,然后在电子邮件中收到"激活"您帖子的链接.编辑也一样.点击"修改",接收带链接的电子邮件,链接带您进行编辑.

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

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

我在Heroku上使用Python,flask,Postgres.

cod*_*eek 14

既然你正在使用flask,你可能想看看这个:

http://flask.pocoo.org/snippets/50/

使用上面链接的示例,工作流可能是这样的:

  1. 用户输入电子邮件并发布.
  2. 使用itsdangerous可以绑定到特定电子邮件的模块生成安全链接(在上面的剪辑中解释)
  3. 一旦用户收到在步骤2中生成的电子邮件和特定URL,他们就可以单击它以确认帖子.您甚至可以在用户单击此URL时添加额外的检查层,您可以要求他们再次输入其电子邮件地址,然后将其与绑定到URL的电子邮件进行匹配.