31

我正在使用 ReactJS 开发一个简单的聊天应用程序。有人可以帮我清理输入。只有一个输入文本框可以发送聊天消息。怎么消毒?。

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

根据文档 HTML 默认转义 html。够了吗。。我是否需要添加任何其他消毒方法。如果是,请让我知道该怎么做?

4

2 回答 2

45

默认情况下会对其进行清理,除非您使用危险的SetInnerHTML,否则您不需要清理方法,而事实并非如此。

于 2017-04-24T10:24:37.803 回答
3

JSX 表达式 {} 会在渲染之前自动处理 HTML 编码,这意味着即使您不清理您的输入,您的网页也是 XSS 安全的。

请参阅反应站点中的此文档:jsx-prevents-injection-attacks

注意:如果您希望您的用户允许输入 HTML .. 那么您需要输入 Sanitisation 并且您必须像上面帖子中提到的 @dgrijuela 一样使用危险的SetInnerHTML。

于 2019-02-01T09:18:48.453 回答