【问题标题】:Links in e-mail are opened by someone else (Django)电子邮件中的链接被其他人打开(Django)
【发布时间】:2020-10-26 23:20:38
【问题描述】:

我在 Ubuntu 的 Apache 服务器上运行 Django,通过电子邮件中的链接激活新帐户有时会失败。我检查了我的访问日志,我可以看到激活链接是由 EC2 服务器打开的(whois 查找提供了 AWS 资源,IP 不是我自己服务器的公共 IP)。任何想法谁/这可能是什么?我在 settings.py 中启用了 TLS 以发送电子邮件:EMAIL_USE_TLS = True。

所以激活失败的原因是链接已经是开放的,但我担心那里会发生什么。我已经看到这种情况发生了 3 次,使用完全不同的用户代理进行 3 次完全不同的帐户激活,但来自相同的 IP 地址。

【问题讨论】:

    标签: django apache amazon-ec2 smtp


    【解决方案1】:

    我首先想到的可能是电子邮件客户端正在打开链接以生成预览?比如,当用户悬停链接时显示屏幕截图。

    为什么要让链接一次性使用?您可以使用在帐户实际激活之前有效的令牌(如果帐户在一定时间内未激活,则禁用链接)。

    【讨论】:

    • 对于非常不同的帐户来说,相同的 IP 地址是 3 倍,所以我认为问题更接近我而不是用户。并且默认的 Django 实现只验证一次激活令牌,因此即使人们可以登录,现在也会收到错误消息。我想真正验证电子邮件地址,因此我希望人们打开我的激活 URL 而不是某些客户端/机器人...
    • 加载页面后要求一些用户交互怎么样?喜欢“单击此处激活您的帐户”按钮?
    猜你喜欢
    • 2016-05-27
    • 2023-03-08
    • 2021-01-05
    • 2011-07-17
    • 2018-03-11
    • 2015-11-14
    • 2019-12-14
    • 2017-12-25
    相关资源
    最近更新 更多