ReactJSを使用して、簡単なチャットアプリケーションを開発しています。誰かが入力をサニタイズするのを手伝ってもらえますか?チャットメッセージを送信するための入力テキストボックスは1つだけです。消毒する方法は?.
<input type="text"
className="chat"
value={this.state.name}
/>
ドキュメントに基づいて、HTMLはデフォルトでhtmlをエスケープします。それは十分か?。他の消毒方法を追加する必要がありますか?はいの場合、その方法を教えてください。
デフォルトではサニタイズされています。 dangerouslySetInnerHTML を使用している場合を除き、サニタイズ方法は不要です。
JSX式{}は、レンダリングの前にHTMLのエンコードを自動的に処理します。つまり、入力をサニタイズしなくても、WebページはXSSセーフです。
これを参照してくださいDOC反応サイト: jsx-prevents-injection-attacks
注:ユーザーにHTMLでの入力を許可するには、入力サニタイズが必要であり、上記の投稿で言及されている@dgrijuelaとしてdangerlySetInnerHTMLを使用する必要があります。