roboguard

Как ограничить автоматический расход SMS-кодов

При SMS pumping автоматизация вызывает отправку кодов через сайт и расходует бюджет сервиса. Здесь речь о защите вашей функции отправки, а не о блокировке входящего SMS-спама на личном телефоне.

Найдите все способы запустить отправку

Код может отправляться при входе, регистрации, восстановлении доступа и подтверждении операции. Если ограничить только один адрес, другой путь может продолжать расходовать тот же баланс. Составьте карту маршрутов и определите, что делает один запрос.

Модуль RoboGuard учитывает допущенные POST к настроенным маршрутам. Одна допущенная операция не является квитанцией провайдера, числом доставленных SMS или суммой списания. Приложение должно гарантировать, что один такой запрос не запускает произвольное количество сообщений.

  1. Выпишите точные адреса отправки, формат тела и поле номера телефона.
  2. Разделите назначения: например, вход и восстановление, сохранив общую картину расходов сайта.
  3. Проверьте повторные отправки внутри приложения и используемые им очереди.
  4. Сопоставьте операции приложения с отчётом SMS-провайдера, учитывая задержку и неуспешные доставки.

Ограничивайте расход на нескольких уровнях

Лимит только по IP не покрывает распределённую отправку и может задеть людей из одной сети. В RoboGuard предусмотрены квоты по получателю, браузеру посетителя, назначению и сайту, а также ограничения перебора разных номеров.

Квота получателя учитывает нормализованный номер, но не подтверждает владение им. Браузер посетителя определяется предусмотренной проверкой и cookie; это не доказательство физического устройства или личности. Общий бюджет сайта нужен как предел совокупного допуска.

ОграничениеКакую задачу решаетЧто учесть
ПолучательПовторные отправки на один номерНесколько назначений не должны давать новый независимый бюджет номеру.
Браузер посетителяЧастые запросы одного проверяемого браузераCookie не равна человеку, возможны несколько браузеров.
НазначениеРасход отдельной функцииПорог должен покрывать нормальные операции этой функции.
Весь сайтСовокупный распределённый расходПри исчерпании ограничения затронут и последующие нормальные отправки.
Перебор номеровСерию обращений к разным получателямУчитывайте нормальный сценарий и объясняйте причину ограничения.

Проверьте предпосылки и полноту наблюдения

SMS-профиль необходимо включить и настроить для вашего сайта; наличие функции в кабинете не означает защиты всех форм по умолчанию. Режим блокировки требует предусмотренной проверки посетителя и защиты формы. Сначала проверьте совместимость конкретного пользовательского пути.

В наблюдении видны допущенные операции и случаи, которые были бы ограничены. При неполных данных отчёт должен показывать пробел, а не уверенный ноль. Переход к блокировке ограничивает будущий расход, но не восстанавливает неизвестную историю прошлого наблюдения.

  • Убедитесь, что настроен каждый нужный маршрут и поле номера разбирается однозначно.
  • Проверьте обычные варианты ввода телефона и понятную ошибку для неверного значения.
  • Сверьте статус публикации настроек, готовность модуля и полноту отчёта.
  • Выбирайте пороги по нормальному поведению и допустимому бюджету, а не по произвольным универсальным числам.

Пройдите сценарий без расходов на сообщения

Для проверки используйте тестовый получатель на стороне приложения, который считает операции и не отправляет платные SMS. Пройдите обычную форму, проверку посетителя, успешный допуск, достижение выбранной квоты и восстановление после её окна.

Проверьте разные маршруты одного назначения и несколько назначений для одного номера. CAPTCHA не отменяет жёсткий бюджет: даже проверенный посетитель должен получить понятный ответ при превышении. Нельзя считать настройку принятой только потому, что она сохранилась в кабинете.

  1. Выполните обычную отправку и убедитесь, что приложение получило одну операцию.
  2. Достигните тестового лимита только в разрешённой тестовой среде и проверьте ответ формы.
  3. Убедитесь, что смена пути входа на путь восстановления не обходит общий лимит получателя.
  4. Проверьте, что обычные страницы сайта продолжают работать при ошибке SMS-маршрута.
  5. Сверьте отчёт модуля с фактически полученными тестовым приложением операциями.

Объясняйте посетителю ограничение и следите за расходом

При превышении квоты используется ответ 429 с ограниченным временем до повтора. Неверный запрос или номер и недоступность обязательного механизма — другие ситуации; интерфейс не должен одинаково сообщать во всех случаях, что «код отправлен». Автоматический бесконечный повтор только усугубит проблему.

После включения сравнивайте допуск, отказы, неполноту наблюдения и реальный расход у провайдера. Потеря ответа после допуска может консервативно занять бюджет, даже если пользователь не увидел успех. Такая модель не позволяет обещать точное совпадение счётчика разрешённых POST с оплаченной доставкой SMS.

Источники и дополнительная информация

Начните со своего сайта

Добавьте домен в кабинете, выберите тариф и завершите подключение. Помощь поддержки доступна по желанию.

Подключить сайт