ReactJS 中的输入清理

Input sanitization in ReactJS

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

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

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

默认情况下已清理,您不需要清理方法,除非您使用 dangerouslySetInnerHTML,但事实并非如此。

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

请在 React 站点中参考此文档:jsx-prevents-injection-attacks

注意:如果你想让你的用户允许输入 HTML.. 那么你需要输入 Sanitisation 并且你必须使用 dangerouslySetInnerHTML 正如上面提到的@dgrijuela post.