Какой лучший / правильный способ расширить / изменить LostPasswordForm в SilverStripe 3.1.x для включения рекапчи? Еще одна проблема безопасности, классифицированная как средняя. Вот что они говорят:
Наблюдение: Функцию "Забыли пароль" можно использовать для рассылки спама на адрес электронной почты пользователя с правами администратора.
Пример затронутого URL: http://example.com/Security/LostPasswordForm
Воздействие: злоумышленник может использовать бота или автоматизированный метод для повторной отправки запроса на восстановление пароля. Входящие сообщения электронной почты могут оказаться недоступными или бесполезными из-за большого количества сообщений.
Рекомендация. Реализуйте одноразовый тест «вызов-ответ», такой как CAPTCHA, во время запроса «Забыли пароль», чтобы предотвратить автоматические боты или замедлить людей, которые пытаются переполнить почтовые ящики пользователя. Эта функция CAPTCHA должна истечь после одного использования.
Поскольку время здесь имеет существенное значение, любые указатели (или даже полное решение) были бы очень признательны. Было бы легко реализовать взлом ядра, но это не лучшая практика. Может кто-нибудь поделится, как это сделать, правильно расширив?