SA Шпаргалка

Все ответы в 2 клика

Продвинутый

Как защитить GraphQL API от DoS-атак (глубокие запросы)?

В GraphQL клиент сам формирует запрос. Хакер может написать рекурсивный запрос огромной вложенности:
graphql
query { author { posts { author { posts { author { name } } } } } }

Такой запрос заставит сервер сделать тысячи выборок из БД и положит его (Denial of Service).

✅ Методы защиты:
1. Query Depth Limit (Лимит глубины): Запретить запросы с вложенностью больше, например, 5 уровней.
2. Query Complexity (Сложность запроса): Каждому полю назначается "вес" (скалярное поле = 1, массив = 10). Если суммарный вес запроса превышает лимит (например, 1000), сервер его отклоняет.
3. Persisted Queries: Разрешить выполнять только заранее сохраненные на сервере (одобренные) запросы.

Сложная тема? Разберём на мок-интервьюЗаписаться на менторство →

Ещё вопросы раздела «Интеграции»

Все вопросы раздела «Интеграции»