JSX автоматически экранирует все значения перед рендерингом их в DOM. Это означает, что любой потенциально вредоносный контент преобразуется в строку, что предотвращает его интерпретацию как исполняемого кода.
React DOM обрабатывает все встроенные значения как текстовое содержимое, а не как HTML или JavaScript. Когда ты встраиваешь пользовательский ввод или динамические данные в фигурные скобки JSX, React автоматически их санирует:
const name = response.potentiallyMaliciousInput;
const element = <h1>{name}</h1>;
Даже если name содержит вредоносные скрипты типа <script>alert('XSS')</script>, React отрендерит его как обычный текст, а не выполнит.
Это автоматическое экранирование обеспечивает надёжную защиту от атак Cross-Site Scripting (XSS). По умолчанию пользователи не могут внедрить исполняемый код через JSX, если ты явно не обойдёшь защиту React.
Фундаментальный принцип простой, но мощный: всё преобразуется в строку перед рендерингом. Это гарантирует, что только явно написанный тобой код приложения определяет, что будет выполнено, а пользовательский ввод остаётся в безопасности как обычный текстовый контент.
JSX автоматически экранирует все значения, встроенные в фигурные скобки, преобразуя их в текстовое содержимое перед рендерингом в DOM, что предотвращает XSS-атаки через пользовательский ввод.
Новый — ещё не проверен сообществом
Вы