web-dev-qa-db-fra.com

Désinfection des entrées dans ReactJS

J'utilise ReactJS pour développer une application de discussion simple. Est-ce que quelqu'un pourrait m'aider à nettoyer l'entrée? Il n'y a qu'une seule zone de saisie pour envoyer des messages de discussion. Comment le désinfecter? 

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

Basé sur les documentations HTML échappe au HTML par défaut. Est-ce suffisant?. Dois-je ajouter d'autres méthodes d'assainissement? Si oui, s'il vous plaît laissez-moi savoir comment faire cela.

7
Shamnad P S

Par défaut, il n'est pas nécessaire d'utiliser une méthode de nettoyage, sauf si vous utilisez dangerouslySetInnerHTML ce qui n'est pas le cas.

11
dgrijuela

Les expressions JSX {} s’occupent automatiquement de l’encodage HTML avant le rendu, ce qui signifie que même si vous ne désinfectez pas votre entrée, votre page Web est sécurisée XSS.

Veuillez vous référer à ce DOC dans le site de réaction: jsx-prevent-injection-attack

Remarque: si vous souhaitez que votre utilisateur autorise la saisie au format HTML .., vous avez besoin de Sanitisation et vous devez utiliser dangereusementSetInnerHTML comme @dgrijuela, mentionné dans l'article ci-dessus.

0
viswanath m