2017-04-24 125 views
2

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

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

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

+0

'value = {sanitize(this.state.name)}'? –

+0

@NguyenThanh我可以给value = {sanitize(this.state.name)},我正在清理未定义的错误。我们真的需要消毒吗? ReactJS会自动为我们做到这一点。 –

回答

4

默认情况下已经过消毒,您不需要消毒方法,除非您使用的不是dangerouslySetInnerHTML

+1

有没有关于这方面的任何文件? –

+1

https://facebook.github.io/react/docs/introducing-jsx.html#jsx-prevents-injection-attacks “默认情况下,React DOM在渲染它们之前转义嵌入在JSX中的任何值,因此它可以确保您不能注入任何未明确写入应用程序的东西,在呈现之前,所有内容都会转换为字符串,这有助于防止XSS(跨站点脚本)攻击。“ – dgrijuela