Подтвердить что ты не робот

Что это означает, когда они говорят, что React защищен XSS?

Я прочитал это в учебнике React. Что это значит?

React is safe. We are not generating HTML strings so XSS protection is the default.

Как действуют атаки XSS, если React не был безопасен? Как достигается эта безопасность?

4b9b3361

Ответ 1

автоматически реагирует на все.

поэтому, допустим, у вас есть эта строка

var htmlString = '<img src="javascript:alert('XSS!')" />';

если вы попытаетесь отобразить эту строку в реакции

render() {
    return (
        <div>{htmlString}</div>
    );
}

вы буквально увидите на странице всю строку, включая тег элемента <span>. aka в браузере вы увидите <img src="javascript:alert('XSS!')" />

если вы просмотрите исходный html, вы увидите

<span>"<img src="javascript:alert('XSS!')" />"</span>

Вот более подробная информация о том, что такое XSS-атака

React в основном делает так, что вы не можете вставлять разметку, если вы сами не создаете элементы в функции рендеринга... при этом у них есть функция, которая допускает такой рендеринг, который называется dangerouslySetInnerHTML... вот более подробная информация об этом