React · Junior · Pytanie 38 z 75
Co jest niebezpiecznego w dangerouslySetInnerHTML?
- 1Spowalnia renderowanie dziesiątki razy z powodu parsowania
- ✓Poprawna odpowiedź: Wstawia HTML bez escapowania - ryzyko XSS
- 3Działa tylko w komponentach klasowych React
Wyjaśnienie
React normalnie escapuje stringi, więc {userInput} jest bezpieczne. dangerouslySetInnerHTML={{ __html }} wstawia markup bez zmian, a <img onerror=...> z danych użytkownika uruchomi skrypt. Jeśli naprawdę potrzebujesz HTML (np. z CMS), oczyść go sanitizerem (DOMPurify).