2012-11-13 46 views
10

我正在考慮一個論壇類型系統,它允許用戶在沒有帳戶的情況下發布/編輯帖子,但需要通過電子郵件驗證。安全「通過電子郵件驗證」系統的工作流程是什麼?

所以你會填寫表格,提供電子郵件地址,提交,然後收到一封電子郵件中的鏈接,將'激活'您的帖子。同樣的事情來編輯。點擊「編輯」,接收帶鏈接的電子郵件,鏈接會讓您編輯表單。

我想了解確切的步驟來安全地做到這一點。我該如何創建一個鏈接,並在這麼長的時間後過期?我如何確保它來自電子郵件地址,而不僅僅是一些通過潛在網址循環的機器人?

任何幫助開始正確的方向表示讚賞。

我在heroku上使用python,flask,postgres。

+1

你試過了什麼? – lolopop

+5

我明白你試圖阻止SO用戶爲我做我的工作,但我清楚地注意到,我只是在尋找這種類型的系統如何運作的一般方向。我想我會在浪費我的時間'嘗試'錯誤地做某件事之前先請專家去理解。 – chrickso

回答

13

由於您使用燒瓶,你可能想看看這個:使用來自上面的鏈接例子

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

,工作流程可能是這樣的:

  1. 用戶進入電子郵件和帖子。
  2. 生成使用itsdangerous模塊,其可連接到所述特定的電子郵件安全鏈路(在上述剪斷解釋)
  3. 一旦用戶接收到電子郵件和特定的URL作爲在步驟2中生成,它們可以點擊它來確認該職位。當用戶點擊此URL時,您甚至可以添加額外的一層檢查,您可以再次輸入他們的電子郵件地址,然後將其與綁定到該URL的電子郵件進行匹配。