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