gpt4 book ai didi

tomcat - 如何使用 JavaMail/Servlet 机制创建 ConfirmationURL?

转载 作者:行者123 更新时间:2023-11-28 22:15:15 24 4
gpt4 key购买 nike

我正在编写一个服务器端 Java 程序,该程序会向用户发送一封带有确认 URL(位于电子邮件正文中)的电子邮件。

已经使用 JavaMail API 创建了 servlet(可以发送电子邮件)...我想知道我将如何设计/实现实际的唯一 URL(在最终用户单击时,它会启动浏览器并声明“已确认。”在网页中)?已确认的必须与最终用户的电子邮件地址相匹配(用于验证目的)。我是否需要生成一个与数据库中创建的用户相匹配的 token ,或者我是否需要使用附加到 URL 的 HttpSessions 或 Cookies?

如果有人能指出正确的方向,我将不胜感激......

快乐的编程,

迈克

最佳答案

如果你能负担得起数据库,最好的方法应该是这样的,

  1. 在发送确认电子邮件之前,创建一个以 session ID 作为键的记录。您将电子邮件地址、有效期和所有其他信息存储在数据库中。在确认链接中对 session ID 进行编码。您还应该包括有关在电子邮件禁止热链接时如何手动输入确认码的说明。应使用短 session ID 进行手动输入。
  2. 当用户点击链接或手动输入 session ID 时,转到数据库检索 session 。如果电子邮件匹配且未过期,则用户已确认。

在其他一些应用程序中,我们不想为此创建数据库,因此我们创建了电子邮件地址的 HMAC( secret 哈希)并将其用作确认密码。在这种情况下,需要在链接中提供电子邮件。

HttpSession 和 cookie 不起作用,因为当用户在几天后点击确认链接时它们可能会消失。

关于tomcat - 如何使用 JavaMail/Servlet 机制创建 ConfirmationURL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1297353/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com