React / Next.js

React Bezpieczeństwo & Najlepsze Praktyki

Zapobieganie XSS, ochrona CSRF, dangerouslySetInnerHTML, Content Security Policy, HTTPS, sanityzacja

22 pytań z rozmów·
Senior
1

Co to jest atak XSS (Cross-Site Scripting)?

Odpowiedź

Atak XSS polega na wstrzyknięciu złośliwego kodu JavaScript do aplikacji webowej w celu wykonania go w przeglądarkach innych użytkowników. Atakujący wykorzystuje luki w walidacji lub eskejpowaniu, aby kraść cookies, tokeny sesji lub wykonywać nieautoryzowane działania. React zapewnia natywną ochronę poprzez automatyczne eskejpowanie wartości JSX, jednak luki pozostają przy dangerouslySetInnerHTML lub bezpośredniej manipulacji DOM.

2

Jak React domyślnie chroni przed atakami XSS?

Odpowiedź

React automatycznie eskejpuje wszystkie wartości wstawiane przez JSX, konwertując je na zwykły tekst przed renderowaniem. Ta ochrona zapobiega uruchamianiu złośliwych skryptów nawet jeśli kod HTML zostanie wstrzyknięty do danych. W przeciwieństwie do innerHTML, który interpretuje i wykonuje HTML, React traktuje tagi jako zwykły tekst, uniemożliwiając wstrzyknięcie złośliwego JavaScript przez standardowe props lub state.

3

Dlaczego dangerouslySetInnerHTML jest uważane za niebezpieczne w React?

Odpowiedź

Ta właściwość omija natywną ochronę XSS React, wstawiając surowy HTML bezpośrednio do DOM bez eskejpowania. Jeśli treść pochodzi z niezaufanego źródła lub zewnętrznego API, może zawierać złośliwy JavaScript, który zostanie wykonany. Wyraźna nazwa dangerouslySetInnerHTML zmusza programistów do świadomego uznania ryzyka bezpieczeństwa i wdrożenia odpowiedniej sanityzacji z bibliotekami takimi jak DOMPurify.

4

Jaka jest główna różnica między atakiem XSS Stored a Reflected?

5

Jakie podejście należy preferować, aby wyświetlić HTML z zewnętrznego API w React?

+19 pytań z rozmów

Opanuj React / Next.js na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo