我已经使用魔术链接和电子邮件实现了无密码登录。该链接只能使用一次。一位客户抱怨说,一旦他们单击该链接,该页面就会报告该链接已被使用。这确实是我实现的,但我确信他们实际上只点击了每个链接一次。我与用户直接接触。
我们无法重现此行为(它适用于我的计算机),因此我检查了日志。根据我从日志中收集的信息,我怀疑某些自动机制是在将电子邮件发送到收件箱之前单击登录链接。一旦它到达收件箱并且用户点击链接,他们实际上是第二个点击它的人。一些自动化工具先做,然后用户再做。
以下是按贡献降序排列引起我怀疑的原因:
- 从提交电子邮件地址到点击电子邮件中的链接之间平均有 2 秒的时间。尽管不是不可撤销的,但手动完成它需要一些不太可能的努力。
- 电子邮件地址是从与单击链接的完全不同的 IP 地址提交的。Geo-IP 告诉我请求都是在伦敦提出的,但链接是在美国点击的。同一用户,下一次尝试 5 分钟后来自伦敦的请求,但这次点击的是德国。
- 电子邮件地址是从与用于打开链接的浏览器不同的浏览器提交的(Chrome 与 IE11)。
作为收件箱投递前安全扫描的一部分,邮件服务器是否真的会跟踪电子邮件中的链接?如果是这样,在这种环境中使用时,使一次性链接工作的可推荐方法是什么?
PS1:这位客户在一家大型跨国公司工作。PS2:我知道无密码登录的优缺点。