
Найкращі практики безпеки
Helmet, CORS, rate limiting, санітизація вхідних даних, SQL injection, XSS, CSRF
1Що таке Helmet у контексті NestJS?
Що таке Helmet у контексті NestJS?
Відповідь
Helmet — це middleware, який автоматично налаштовує HTTP-заголовки безпеки для захисту застосунків від поширених вразливостей. Він активує заголовки на кшталт X-Frame-Options, Content-Security-Policy, X-Content-Type-Options для запобігання XSS, clickjacking та MIME sniffing. Helmet є важливою найкращою практикою в продакшені для посилення площини безпеки.
2Яка основна роль CORS в API?
Яка основна роль CORS в API?
Відповідь
CORS (Cross-Origin Resource Sharing) контролює, які зовнішні домени можуть отримати доступ до ресурсів API. Без налаштування CORS браузери блокують запити з інших доменів з міркувань безпеки. Правильне налаштування CORS запобігає помилкам доступу, зберігаючи при цьому безпеку. Використовуйте білі списки дозволених origin замість того, щоб дозволяти всі домени за допомогою wildcard.
3Який найкращий підхід для захисту API від атак методом грубої сили?
Який найкращий підхід для захисту API від атак методом грубої сили?
Відповідь
Rate limiting обмежує кількість запитів на IP або користувача за певний період, запобігаючи автоматизованим атакам методом грубої сили. Пакети на кшталт throttler-module у NestJS дозволяють легко налаштувати глобальні ліміти або ліміти для окремих endpoint. Поєднуйте rate limiting із прогресивними стратегіями (зростаюче тимчасове блокування) та CAPTCHA для чутливих endpoint. Rate limiting також захищає від атак типу відмови в обслуговуванні (DoS).
Що таке атака XSS (Cross-Site Scripting)?
Як захистити застосунок NestJS від SQL injection?
+22 питань зі співбесід
Інші теми співбесід Node.js / NestJS
Основи Node.js
Основні API Node.js
Асинхронне програмування
Основи Express.js
Основи NestJS
Проєктування REST API
Валідація та DTO
Документація API та контракти
Обробка помилок
Юніт-тестування
Планування завдань
Модулі та DI у NestJS
Конфігурація та керування середовищами
Автентифікація JWT
Авторизація та RBAC
База даних з TypeORM
Prisma ORM
Middleware та Interceptors
Завантаження файлів
WebSockets
GraphQL з NestJS
Наскрізне тестування (End-to-End)
Кешування з Redis
Черги з Bull
DevOps, Logging та CI/CD
Docker та контейнеризація
Мікросервіси
Продуктивність і хмарне розгортання
Опануй Node.js / NestJS для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно