我正在使用 ReactJS 开发一个简单的聊天应用程序。有人可以帮我清理输入。只有一个输入文本框可以发送聊天消息。怎么消毒?。
<input type="text"
className="chat"
value={this.state.name}
/>
根据文档 HTML 默认转义 html。够了吗。。我是否需要添加任何其他消毒方法。如果是,请让我知道该怎么做?
我正在使用 ReactJS 开发一个简单的聊天应用程序。有人可以帮我清理输入。只有一个输入文本框可以发送聊天消息。怎么消毒?。
<input type="text"
className="chat"
value={this.state.name}
/>
根据文档 HTML 默认转义 html。够了吗。。我是否需要添加任何其他消毒方法。如果是,请让我知道该怎么做?
默认情况下会对其进行清理,除非您使用危险的SetInnerHTML,否则您不需要清理方法,而事实并非如此。
JSX 表达式 {} 会在渲染之前自动处理 HTML 编码,这意味着即使您不清理您的输入,您的网页也是 XSS 安全的。
请参阅反应站点中的此文档:jsx-prevents-injection-attacks
注意:如果您希望您的用户允许输入 HTML .. 那么您需要输入 Sanitisation 并且您必须像上面帖子中提到的 @dgrijuela 一样使用危险的SetInnerHTML。