Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ReactJS中输入消毒_Reactjs_Xss_Sanitization_Input Sanitization - Fatal编程技术网

在ReactJS中输入消毒

在ReactJS中输入消毒,reactjs,xss,sanitization,input-sanitization,Reactjs,Xss,Sanitization,Input Sanitization,我正在使用ReactJS开发一个简单的聊天应用程序。有人能帮我清理一下输入内容吗。 只有一个输入文本框可以发送聊天信息。如何消毒 <input type="text" className="chat" value={this.state.name} /> 根据文档,默认情况下HTML转义HTML。够了吗?。我是否需要添加任何其他消毒方法。如果是,请告诉我如何做?默认情况下,它是经过清理的,您不需要清

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

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


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

默认情况下,它是经过清理的,您不需要清理方法,除非您使用的是非清理方法。

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

请参考react站点中的此文档:


注意:如果希望用户允许在HTML中键入。。然后你需要输入清理,你必须使用危险的LysetinerHTML作为上面帖子中提到的@dgrijuela。

value={sanitize(this.state.name)}
?@NguyenThanh我可以给value={sanitize(this.state.name)},我得到的是sanitize未定义的错误。我们真的需要消毒吗?。ReactJS会自动为我们这样做吗?有关于这个的文档吗?。“默认情况下,React DOM会在呈现JSX中嵌入的任何值之前对其进行转义。因此,它确保您永远不会注入未在应用程序中显式写入的任何内容。所有内容在呈现之前都会转换为字符串。这有助于防止XSS(跨站点脚本)攻击。”JSX只是javascript的语法扩展。JSX规范中没有强制执行消毒的内容。