Я использую ReactJS для разработки простого приложения чата. Может ли кто-нибудь помочь мне дезинфицировать вход. Существует только одно поле ввода для отправки сообщений чата. Как санировать это?

<input type="text"
              className="chat"
              value={this.state.name}
            />

На основе документации HTML по умолчанию экранирует HTML. Это достаточно?. Нужно ли добавлять какие-либо другие методы дезинфекции. Если да, пожалуйста, дайте мне знать, как это сделать?

24
Shamnad P S 24 Апр 2017 в 12:39

2 ответа

Лучший ответ

Он очищен по умолчанию, вам не нужен метод очистки, если вы не используете dangerouslySetInnerHTML, что не соответствует действительности.

31
dgrijuela 24 Апр 2017 в 10:24

Выражения JSX {} автоматически позаботятся о кодировании HTML перед рендерингом, что означает, что даже если вы не очистите свой ввод, ваша веб-страница безопасна для XSS.

Пожалуйста, обратитесь к этому DOC на сайте реагирования: jsx-Предупреждения для инъекций -attacks

Примечание. Если вы хотите, чтобы ваш пользователь разрешал вводить HTML-код, тогда вам нужно ввести Sanitisation, и вы должны использовать опасно SetInnerHTML как @dgrijuela, упомянутый в предыдущем посте.

0
viswanath m 1 Фев 2019 в 09:18