React · Junior · Запитання 38 з 75
Чим небезпечний dangerouslySetInnerHTML?
- 1Він сповільнює рендер у десятки разів через парсинг
- ✓Правильна відповідь: Він вставляє HTML без екранування - це ризик XSS
- 3Він працює лише в класових компонентах React
Пояснення
Зазвичай React екранує рядки, тому {userInput} безпечний. dangerouslySetInnerHTML={{ __html }} вставляє розмітку як є, і <img onerror=...> з користувацьких даних виконає скрипт. Якщо HTML справді потрібен (наприклад, із CMS), його очищують санітайзером (DOMPurify).