Использовать 6-значные коды подтверждения
Ограничивать количество и частоту попыток ввода кода подтверждения с одного IP-адреса
Учитывать количество попыток как в текущей сессии, так и суммарно для номера телефона
Не блокировать аккаунт пользователя после нескольких неудачных попыток
Для каждой попытки входа генерировать новый уникальный код
Для подтверждения каждого действия использовать отдельный код
Не использовать предсказуемые идентификаторы и коды подтверждения
Для особо критичных сервисов не использовать SMS-подтверждения, заменить на 2FA или хотя бы push-уведомления или звонками