React / Next.js

React Безпека & Найкращі Практики

Запобігання XSS, захист від CSRF, dangerouslySetInnerHTML, Content Security Policy, HTTPS, санітизація

22 питань зі співбесід·
Senior
1

Що таке XSS (Cross-Site Scripting) атака?

Відповідь

Атака XSS полягає у впровадженні шкідливого JavaScript-коду у веб-застосунок для виконання його у браузерах інших користувачів. Зловмисник використовує вразливості валідації або екранування, щоб вкрасти cookies, токени сесій або виконати несанкціоновані дії. React забезпечує нативний захист, автоматично екрануючи значення JSX, але вразливості залишаються при використанні dangerouslySetInnerHTML або прямій маніпуляції DOM.

2

Як React захищає від XSS атак за замовчуванням?

Відповідь

React автоматично екранує всі значення, вставлені через JSX, перетворюючи їх на звичайний текст перед рендерингом. Цей захист запобігає виконанню шкідливих скриптів навіть якщо HTML-код впроваджується в дані. На відміну від innerHTML, який інтерпретує та виконує HTML, React обробляє теги як звичайний текст, роблячи неможливим впровадження шкідливого JavaScript через стандартні props або state.

3

Чому dangerouslySetInnerHTML вважається небезпечним у React?

Відповідь

Ця властивість обходить нативний XSS-захист React, вставляючи сирий HTML безпосередньо в DOM без екранування. Якщо вміст надходить з ненадійного джерела або зовнішнього API, він може містити шкідливий JavaScript, який буде виконано. Явна назва dangerouslySetInnerHTML змушує розробників свідомо визнати ризик безпеки та реалізувати належну санітизацію за допомогою таких бібліотек як DOMPurify.

4

У чому головна різниця між Stored XSS та Reflected XSS атакою?

5

Який підхід слід надавати перевагу для відображення HTML з зовнішнього API у React?

+19 питань зі співбесід

Інші теми співбесід React / Next.js

Основи JavaScript

Junior
25 запитань

Основи React

Junior
20 запитань

React Hooks

Junior
22 запитань

Життєвий цикл компонента

Junior
18 запитань

React Router

Junior
20 запитань

Управління станом з Context

Junior
18 запитань

Форми та Controlled Components

Mid-Level
20 запитань

Отримання даних та API

Mid-Level
20 запитань

React Query (TanStack Query)

Mid-Level
20 запитань

Styling & CSS-in-JS

Mid-Level
18 запитань

Основи Next.js

Mid-Level
25 запитань

TypeScript з React

Mid-Level
20 запитань

Data Fetching у Next.js

Mid-Level
24 запитань

Server Actions у Next.js

Mid-Level
20 запитань

Маршрутизація та Навігація в Next.js

Mid-Level
22 запитань

API Routes у Next.js

Mid-Level
20 запитань

Metadata & SEO у Next.js

Mid-Level
18 запитань

Middleware та Auth у Next.js

Mid-Level
22 запитань

Тестування React

Mid-Level
20 запитань

Zustand State Management

Mid-Level
18 запитань

Оптимізація продуктивності React

Senior
22 запитань

Error Boundaries & обробка помилок

Senior
18 запитань

Advanced React Patterns

Senior
20 запитань

Розширені можливості Next.js

Senior
24 запитань

Розгортання та Продакшн Next.js

Senior
20 запитань

Architecture & Design Patterns

Senior
22 запитань

React Server Components

Senior
26 запитань

Інтернаціоналізація Next.js

Senior
20 запитань

Опануй React / Next.js для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно