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

时间:2012-11-13 19:51:14

标签: python email flask email-verification

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

因此,您需要填写表单,提供电子邮件地址,提交,然后在电子邮件中接收“激活”您帖子的链接。编辑也一样。点击“修改”,接收带有链接的电子邮件,链接可以让您编辑表单。

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

感谢任何帮助您开始正确的方向。

我在flask上使用Python,PostgresHeroku

1 个答案:

答案 0 :(得分:14)

由于您正在使用flask,您可能需要查看:

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

使用上面链接中的示例,工作流程可能类似于:

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