Какие знаешь методы защиты API

«Какие знаешь методы защиты API» — вопрос из категории Безопасность, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Используются несколько методов защиты API:

  1. Аутентификация

    • JWT (JSON Web Tokens) - токены с подписью для проверки подлинности.
    • OAuth 2.0 - делегирование доступа через провайдеров (Google, Facebook).
  2. Авторизация

    • RBAC (Role-Based Access Control) - доступ на основе ролей пользователя.
  3. HTTPS

    • Шифрование трафика для защиты от перехвата данных.
  4. CORS

    • Ограничение доменов, которые могут делать запросы.
  5. Rate Limiting

    • Ограничение количества запросов для защиты от DDoS.
  6. Валидация данных

    • Проверка входных данных (например, с помощью express-validator в Node.js).

Пример JWT в Node.js:

const jwt = require('jsonwebtoken');
const token = jwt.sign({ userId: 123 }, 'SECRET_KEY', { expiresIn: '1h' });