Сервис временной почты выполняет несколько разных задач: создание адресов, вывод списка писем, открытие содержимого, приём SMTP-трафика и выполнение административных заданий. Единый глобальный лимит не может отразить все связанные с ними риски.
Сначала выполняйте дешёвые проверки
Проверяйте маршрут, метод, размер входных данных и требуемые учётные данные до выполнения дорогостоящих операций с базой данных или объектным хранилищем. Используйте ограниченные кэши для подходящих метаданных и избегайте создания неограниченного состояния для каждого ключа на основе непроверенных идентификаторов. Проверки доступа по-прежнему должны применяться к кэшированным ответам.
Задайте бюджет для каждой рабочей нагрузки
| Рабочая нагрузка | Полезная мера контроля |
|---|---|
| Анонимный опрос входящих сообщений | Лимиты запросов, рекомендации по задержкам и проверка сессий. |
| Использование API с аутентификацией | Лимиты, связанные с учётными данными и операцией. |
| Приём SMTP-сообщений | Лимиты на соединения, размер сообщений и обработку получателей. |
| Задания по обслуживанию | Небольшие пакеты и ограниченная степень параллелизма. |
Различайте всплеск и продолжающееся злоупотребление
Легитимный клиент может повторить попытку после сетевого сбоя. Фиксируйте достаточно информации, чтобы отличить такой всплеск от устойчивого трафика, игнорирующего лимиты. Ступенчатые меры реагирования могут включать замедление обработки запросов, временный отказ или отзыв учётных данных, когда для этого есть доказательства и это оправдано политикой.
Проверьте сценарий отказа
Проверьте, что отклонённый запрос не выполняет дорогостоящую работу. Убедитесь, что корректно работающие клиенты понимают ответы, требующие повтора, и что привилегированный доступ к входящим сообщениям нельзя обойти, изменив конечную точку.
Это архитектурный контрольный список, а не утверждение, что все меры включены в каждом развёртывании. Актуальные лимиты сервиса и правила доступа следует брать из документации сайта и ответов API.