Много неоплаченных заказов ещё не означает атаку. Покупатель мог отказаться, платёжный сервис — задержать уведомление, а интеграция — повторить событие. Цель диагностики — найти массовое злоупотребление оформлением и сохранить нормальную покупку.
Разделите причины по событиям заказа
- Возьмите несколько подозрительных заказов и запишите время, статус, способ оплаты и записи в примечаниях. Не экспортируйте контакты покупателей в публичный отчёт.
- Проверьте, был ли создан платёж и получено подтверждение от провайдера. Статус «Ожидает оплаты» не доказывает мошенничество; оценивайте историю и конкретный способ оплаты.
- Сопоставьте события с запросами checkout. Классическое оформление может использовать wc-ajax=checkout, блоковое — Store API, включая /wp-json/wc/store/v1/checkout. Найдите реальный маршрут вашего магазина в браузере.
- Проверьте повторы корзины, частоту создания заказов и одинаковые шаблоны полей. Несколько совпадений требуют проверки, но общий IP или однотипное имя не достаточны для блокировки.
Сначала сохраните оплату и интеграции
Составьте список платёжных уведомлений, CRM, складских и доставочных интеграций. Для webhook используйте предусмотренную провайдером проверку подписи на сервере. Такие запросы не проходят обычную браузерную CAPTCHA; исключение для них должно иметь узкий маршрут и проверку подлинности.
Не блокируйте весь Store API и не кешируйте персональные ответы корзины. Не отключайте гостевой checkout только по подозрению: сначала измерьте последствия для покупки. Обновления WooCommerce и платёжных расширений тестируйте отдельно от изменения фильтрации.
Ограничьте создание заказов по фактическому сценарию
Разделите чтение каталога, изменения корзины и создание заказа. Применяйте ограничения к наиболее затратному действию после наблюдения за обычной частотой. Единого безопасного числа запросов для любого магазина нет: учитывайте повтор оплаты, общие сети и рекламные пики.
Если обнаружено тестирование банковских карт, свяжитесь с платёжным провайдером и используйте его средства управления риском. Сетевая фильтрация не заменяет проверку оплаты. Подробный порядок подключения и проверки магазина есть в инструкции WooCommerce; принципы ограничения частоты — в материале о rate limiting.
Проверьте покупку после изменения правил
- Оформите гостевой и авторизованный заказ с телефона и компьютера.
- Проверьте купон, доставку, изменение корзины, отмену и повтор оплаты.
- В тестовом режиме платёжного провайдера проверьте успешную и неуспешную оплату, задержанное и повторное уведомление.
- Убедитесь, что остатки, CRM и сообщения покупателю обновляются правильно. Не используйте реальные карточные данные для технического теста.
Сравнивайте долю подтверждённых заказов, ошибки оформления, нагрузку и обращения покупателей за сопоставимые периоды. При росте отказов отмените последнее правило и разберите журнал. Для общей схемы защиты смотрите защиту интернет-магазина, для поиска сетевых повторов — разбор access.log.
Документация
Управление заказами WooCommerce и Store API WooCommerce. Проверяйте поддержку вашего способа оформления и расширений.