Как добавить интервал повторной отправки в электронные письма активации django? - PullRequest
0 голосов
/ 27 декабря 2018

Я настроил свой бэкэнд django для отправки электронного письма активации (со ссылкой для активации) на электронный адрес пользователя, указанный при регистрации.Но в последнее время я получаю спам-атаки, когда пользователь (или бот или что-то еще) постоянно запрашивает ссылку активации и увеличивает нагрузку на мой почтовый сервер.Чтобы противостоять этому, как я могу добавить задержку / интервал между последовательными запросами на электронное письмо активации для того же адреса электронной почты?

Должен ли я создать собственное представление для этого?если да, то какой вид я должен посмотреть на изменение и как я могу добавить интервал времени, который, скажем, запрещает пользователю запрашивать 1 ссылку активации каждые 5 или 10 минут?

Редактировать:

IЯ обнаружил, что сам django-allauth поддерживает функцию добавления периода перезарядки, но я не могу заставить это работать. проблема была поднята в связи с этим, и я попытался решить проблему в потоке проблем, изменив настройки моего соответствующего приложения следующим образом:

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 с) не соблюдается.Я могу постоянно пытаться войти в систему, и он просто продолжает отправлять письмо активации.Как я могу это исправить и правильно настроить время восстановления?

Информация о версии:
Python 3.5
django-allauth 0.34

1 Ответ

0 голосов
/ 27 декабря 2018

Отвечая на мой собственный вопрос:

Перезарядка работает - просто, даже если она перенаправляет меня на ту же страницу, электронное письмо с сервера отправляется только один раз и не отправляется повторно, пока не наступит период перезарядки.более.

Ответ на мой исходный вопрос заключается в изменении настроек приложения в редактировании в моем исходном сообщении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...