@eos3d

Ограничение попыток восстановления пароля Друпал 7?

Не смотря на наличие капчи от Google, в Maillog наблюдаю частые попытки неоднократного запроса восстановления пароля. Не нашел модуля или настроек Друпала, как ограничить количество попыток восстановления пароля, допустим 5ю.
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
niremizov
@niremizov
CEO, предприниматель
Да, в Drupal 7 такой настройки нет и модуля тоже, но есть патч или можно сделать свой модуль.

1) Патч https://www.drupal.org/project/drupal/issues/3074666
1.1) После применения патча добавляем в самый конец файла /sites/default/settings.php строку, в которой указываем кол-во допустимых попыток:

$conf['user_pass_reset_user_limit'] = 3;

2) Свой модуль
2.1) Подготавливаем файлы для своего модуля xandeadx.ru/blog/drupal/256
2.2) Добавляем ограничение на форму восстановления пароля. Код можно взять отсюда https://www.drupal.org/project/drupal/issues/1681832

// xyz - название Вашего модуля
function xyz_user_pass_form_validate($form, $form_state){
  // Тут 3 - это кол-во допустимых запросов за 86400 секунд.
  if(!flood_is_allowed('request new password', 3, 86400, $form_state['values']['name'])){
    form_set_error('name', 'Reset password limit exceeded.  Please contact technical support for further assistance.');
	flood_register_event('request new password', 86400, $form_state['values']['name']);
  } else {
    flood_register_event('request new password', 86400, $form_state['values']['name']);
  }
}

hook_form_user_pass_alter($form){
  array_unshift($form['#validate'], 'xyz_user_pass_form_validate');
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
andead
@andead
друпал девелопер, фрилансер
По умолчанию стоит ограничение на 5 попыток - https://git.drupalcode.org/project/drupal/-/blob/7...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы