Tag: idempotent

在nonce电子邮件中激活/注册/密码重置链接的最佳做法是什么?

应用程序发送电子邮件来validation用户帐户或重置密码。 我相信以下是应该的方式,我要求引用和实现。 如果一个应用程序必须发送一封邮件中的链接来validation用户的地址,根据我的观点,链接和应用程序对链接的处理应该具有以下特征: 该链接在请求URI( http://host/path?nonce )中包含一个随机 http://host/path?nonce 。 在跟随链接(GET)之后,用户被呈现一个表格,可选地具有随机数。 用户确认input(POST)。 服务器收到请求并 检查input参数, 执行更改, 并使nonce失效。 这在安全和幂等方法的HTTP RFC上应该是正确的。 问题是,这个过程涉及到一个额外的页面或用户行为(项目3),这被认为是多余的(如果不是无用的)很多人。 我在向同行和客户展示这种方法时遇到了问题,因此我要求从更广泛的技术小组获得有关这方面的意见。 我反对跳过POST步骤的唯一参数是可能从浏览器预加载的链接。 有没有关于这个问题的参考文献可以更好地解释这个想法,甚至说服一个非技术人员(来自期刊,博客等的最佳实践)呢? 是否有参考网站(最好是stream行的,并与许多用户)实施这种方法? 如果没有,是否有文件logging的理由或等同的替代方法 谢谢, Kariem 细节保留 我把主要部分缩短了,但是为了减less我有意忽略的细节的讨论,我将增加一些假设: 电子邮件的内容不是这个讨论的一部分。 用户知道她必须点击链接才能执行操作。 如果用户没有反应,什么都不会发生,这也是已知的。 我们不必指出我们为什么要邮寄用户,也不必说明沟通政策。 我们假设用户期望收到电子邮件。 该随机数具有到期时间戳,并直接与收件人电子邮件地址关联以减less重复。 笔记 通过使用OpenID等,正常的Web应用程序可以免去执行标准的用户帐户pipe理(密码,电子邮件…),但仍有一些客户希望“ 自己的用户 ” 奇怪的是,我还没有find一个令人满意的问题,也没有回答。 到目前为止我发现的是: 唐在HTTP POST与URL查询参数 – 好主意或不? 托马斯的问题 – 什么时候使用POST,什么时候使用GET?