Les classes org.owasp.esapi.reference.DefaultEncoder
et org.owasp.encoder.Encode
fournissent certaines des Fonctions de nettoyage prises en charge de VeraCode pour traiter les attaques potentielles de cross-site scripting (XSS). Étant donné qu'elles proviennent toutes les deux de l'OWASP, je dois penser qu'elles ne sont pas redondantes, mais certaines des méthodes semblent être prévues pour faire la même chose, par exemple, DefaultEncoder.encodeForHTML(String)
et Encode.forHtml(String)
. Je me demande ce qui les différencie, et quand il est préférable d'utiliser une classe plutôt que l'autre.
Réponse
Trop de publicités?Ils proviennent de différents projets qui ont certains chevauchements en termes de fonctionnalités. org.owasp.esapi.reference.DefaultEncoder
est issu du projet ESAPI, tandis que org.owasp.encoder.Encode
provient du projet OWASP Java Encoder. Le projet Java Encoder est plus récent et plus activement maintenu, et plus spécifiquement pour l'encodage des sorties, tandis qu'ESAPI dispose également d'autres fonctionnalités.
Pour quelque chose comme l'encodage HTML, ils font la même chose donc cela ne fait pas beaucoup de différence, mais il semble qu'ESAPI soit davantage un projet hérité maintenant. Voir: