web-dev-qa-db-ja.com

ReactJSの入力サニタイズ

ReactJSを使用して、簡単なチャットアプリケーションを開発しています。誰かが入力をサニタイズするのを手伝ってもらえますか?チャットメッセージを送信するための入力テキストボックスは1つだけです。消毒する方法は?.

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

ドキュメントに基づいて、HTMLはデフォルトでhtmlをエスケープします。それは十分か?。他の消毒方法を追加する必要がありますか?はいの場合、その方法を教えてください。

16
Shamnad P S

デフォルトではサニタイズされています。 dangerouslySetInnerHTML を使用している場合を除き、サニタイズ方法は不要です。

20
dgrijuela

JSX式{}は、レンダリングの前にHTMLのエンコードを自動的に処理します。つまり、入力をサニタイズしなくても、WebページはXSSセーフです。

これを参照してくださいDOC反応サイト: jsx-prevents-injection-attacks

注:ユーザーにHTMLでの入力を許可するには、入力サニタイズが必要であり、上記の投稿で言及されている@dgrijuelaとしてdangerlySetInnerHTMLを使用する必要があります。

0
viswanath m