{userInput}
; // Безопасно - отобразится как текст\n\nДля случаев, когда нужно вставить HTML (dangerouslySetInnerHTML), React требует явного указания:\n\n\n\nНо даже в этом случае современные браузеры имеют встроенную защиту от выполнения скриптов через innerHTML. Лучше избегать dangerouslySetInnerHTML и использовать санитизацию библиотеками типа DOMPurify.","url":"https://youngjunior.ru/javascript/interviews/17378"}}}Встречается на 2% собеседований по JavaScript
Как React защищает от XSS
React автоматически экранирует все данные, вставленные в JSX перед рендерингом. Это означает, что любые строки, переданные в фигурных скобках, будут преобразованы в текст, а не интерпретированы как HTML.
jsx
const userInput = '<script>alert("XSS")</script>';
return <div>{userInput}</div>; // Безопасно - отобразится как текстДля случаев, когда нужно вставить HTML (dangerouslySetInnerHTML), React требует явного указания:
jsx
<div dangerouslySetInnerHTML={{__html: userControlledHtml}} />Но даже в этом случае современные браузеры имеют встроенную защиту от выполнения скриптов через innerHTML. Лучше избегать dangerouslySetInnerHTML и использовать санитизацию библиотеками типа DOMPurify.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы