Sobes.tech
Назад к вопросам
Middle
3

Почему небезопасно использовать verify=False и синхронный requests в FastAPI?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

Использование verify=False в requests отключает проверку SSL-сертификатов, что делает соединение уязвимым к атакам "man-in-the-middle" — злоумышленник может перехватить или изменить данные.

В контексте FastAPI, если вы делаете синхронные HTTP-запросы через requests внутри асинхронных обработчиков, это блокирует event loop, снижая производительность и масштабируемость приложения.

Почему это плохо:

  • Безопасность: verify=False отключает проверку подлинности сервера, что опасно в продакшене.
  • Производительность: синхронные вызовы блокируют асинхронный поток, задерживая обработку других запросов.

Рекомендуется:

  • Всегда использовать проверку SSL (не ставить verify=False), либо корректно настроить сертификаты.
  • Для асинхронных запросов использовать библиотеки типа httpx с async поддержкой, чтобы не блокировать event loop.

Пример асинхронного запроса с httpx:

import httpx

async def fetch_data():
    async with httpx.AsyncClient() as client:
        response = await client.get('https://example.com')
        return response.text