2017-04-24 92 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