12

私は、ユーザーがアカウントなしで電子メールの確認を通じて投稿/編集できるようにするフォーラム型のシステムを考えています。

そのため、フォームに入力し、電子メール アドレスを指定して送信すると、投稿を「アクティブ化」するリンクが電子メールで受信されます。編集することは同じです。[編集] をクリックすると、リンクが記載されたメールが届きます。リンクをクリックするとフォームを編集できます。

これを安全に行うための正確な手順を理解しようとしています。一定期間後に有効期限が切れるリンクを作成するにはどうすればよいですか? 潜在的な URL を巡回するボットだけでなく、電子メール アドレスから送信されていることを確認するにはどうすればよいですか?

正しい方向に始めるための助けをいただければ幸いです。

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 に答える