如何向 django 激活电子邮件添加重新发送间隔?
How to add resend interval to django activation emails?
我已经设置了我的 django 后端,以将激活电子邮件(激活 link)发送到用户在注册时提供的电子邮件地址。但最近,我一直受到垃圾邮件攻击,用户(或机器人或其他)不断请求激活 link 并增加我的电子邮件服务器的负载。为了解决这个问题,我如何在向同一电子邮件地址发送激活电子邮件的连续请求之间添加时间 delay/interval?
我应该为此创建自定义视图吗?如果是这样,我应该考虑修改哪个视图,以及如何添加一个时间间隔来限制用户每 5 或 10 分钟请求 1 激活 link?
编辑:
我发现 django-allauth 本身支持添加冷却时间的功能,但我无法让它工作。有人就此提出了一个 issue,我已经通过将我的相关应用程序设置修改为以下内容来尝试问题线程中的解决方案:
ACCOUNT_EMAIL_CONFIRMATION_HMAC = False
ACCOUNT_EMAIL_CONFIRMATION_COOLDOWN = 300
ACCOUNT_AUTHENTICATION_METHOD = 'username_email'
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION = True
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_LOGOUT_ON_GET = True
但是,当电子邮件尚未验证(激活)的用户尝试登录时,他们将被重定向到一个页面,该页面要求他们检查电子邮件并发送验证电子邮件(这是正确的行为根据 this) 但不遵守上面指定的冷却时间(300 秒)。我可以继续尝试连续登录,它只是不断重新发送激活邮件。我该如何解决这个问题并使冷却时间正常工作?
版本信息:
Python3.5
django-allauth 0.34
回答我自己的问题:
冷却时间确实有效 - 只是即使它将我重定向到同一页面,来自服务器的电子邮件只发送一次并且在冷却时间结束之前不会重新发送。
我原来的问题的答案是在我原来的 post 编辑中对应用程序设置的更改。
我已经设置了我的 django 后端,以将激活电子邮件(激活 link)发送到用户在注册时提供的电子邮件地址。但最近,我一直受到垃圾邮件攻击,用户(或机器人或其他)不断请求激活 link 并增加我的电子邮件服务器的负载。为了解决这个问题,我如何在向同一电子邮件地址发送激活电子邮件的连续请求之间添加时间 delay/interval?
我应该为此创建自定义视图吗?如果是这样,我应该考虑修改哪个视图,以及如何添加一个时间间隔来限制用户每 5 或 10 分钟请求 1 激活 link?
编辑:
我发现 django-allauth 本身支持添加冷却时间的功能,但我无法让它工作。有人就此提出了一个 issue,我已经通过将我的相关应用程序设置修改为以下内容来尝试问题线程中的解决方案:
ACCOUNT_EMAIL_CONFIRMATION_HMAC = False
ACCOUNT_EMAIL_CONFIRMATION_COOLDOWN = 300
ACCOUNT_AUTHENTICATION_METHOD = 'username_email'
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION = True
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_LOGOUT_ON_GET = True
但是,当电子邮件尚未验证(激活)的用户尝试登录时,他们将被重定向到一个页面,该页面要求他们检查电子邮件并发送验证电子邮件(这是正确的行为根据 this) 但不遵守上面指定的冷却时间(300 秒)。我可以继续尝试连续登录,它只是不断重新发送激活邮件。我该如何解决这个问题并使冷却时间正常工作?
版本信息:
Python3.5
django-allauth 0.34
回答我自己的问题:
冷却时间确实有效 - 只是即使它将我重定向到同一页面,来自服务器的电子邮件只发送一次并且在冷却时间结束之前不会重新发送。
我原来的问题的答案是在我原来的 post 编辑中对应用程序设置的更改。