
Le OWASP Java Encoder est une classe d'encodeur Java 1.5+ haute performance, simple à utiliser et prête à l'emploi, sans dépendances et peu encombrante. Ce projet aidera les développeurs web Java à se défendre contre le Cross Site Scripting (XSS) !
L'encodage contextuel de sortie est une technique de programmation nécessaire pour arrêter le Cross-Site Scripting. Ce projet est une classe d'encodage simple à utiliser, autonome (drop-in) et haute performance pour Java 1.8+, avec peu de dépendances.
Pour une documentation plus détaillée sur l'OWASP Java Encoder, veuillez visiter https://owasp.org/www-project-java-encoder/.
Vous pouvez télécharger un JAR depuis Maven Central.
Les balises JSP et les fonctions EL sont disponibles dans encoder-jsp, également disponible :
Les JAR sont également disponibles dans Central :
<dependency>
<groupId>org.owasp.encoder</groupId>
<artifactId>encoder</artifactId>
<version>1.4.0</version>
</dependency>
<!-- using Servlet Spec 5 in the jakarta.servlet package use: -->
<dependency>
<groupId>org.owasp.encoder</groupId>
<artifactId>encoder-jakarta-jsp</artifactId>
<version>1.4.0</version>
</dependency>
<!-- using the Legacy Servlet Spec in the javax.servlet package use: -->
<dependency>
<groupId>org.owasp.encoder</groupId>
<artifactId>encoder-jsp</artifactId>
<version>1.4.0</version>
</dependency>
La bibliothèque OWASP Java Encoder est conçue pour un encodage contextuel rapide avec très peu de surcoût, que ce soit en performances ou en utilisation. Pour commencer, ajoutez simplement le fichier encoder-1.2.3.jar, importez org.owasp.encoder.Encode et commencez à l'utiliser.
Exemple d'utilisation :
PrintWriter out = ....;
out.println("<textarea>"+Encode.forHtml(userData)+"</textarea>");
Veuillez consulter la javadoc de Encode pour découvrir la variété de contextes pour lesquels vous pouvez encoder.
Bon encodage !
En raison des cas de test du projet encoder-jakarta-jsp, Java 17 est requis pour empaqueter et tester
le projet. Exécutez simplement :
mvn package
Pour exécuter le test d'intégration Jakarta JSP, afin de valider que les balises JSP et les fonctions EL fonctionnent correctement, exécutez :
mvn verify -PtestJakarta
| JAR | Nom du module |
|---|---|
| encoder | owasp.encoder |
| encoder-jakarta-jsp | owasp.encoder.jakarta |
| encoder-jsp | owasp.encoder.jsp |
| encoder-espai | owasp.encoder.esapi |
| Lib | TagLib |
|---|---|
| encoder-jakarta-jsp | <%@taglib prefix="e" uri="owasp.encoder.jakarta"%> |
| encoder-jsp | <%@taglib prefix="e" uri="https://www.owasp.org/index.php/OWASP_Java_Encoder_Project"%> |
Le projet OWASP Java Encoder est un projet Maven multi-modules :
$ mvn package
Les benchmarks (qui nécessitent actuellement des améliorations) peuvent être exécutés avec :
$ mvn verify -Pbenchmarks
Les versions sont publiées via central-publishing-maven-plugin :
$ mvn mvn clean package deploy -DperformRelease=true
L'équipe est heureuse d'annoncer que la version 1.4.0 a été publiée !
L'équipe est heureuse d'annoncer que la version 1.3.1 a été publiée !
L'équipe est heureuse d'annoncer que la version 1.3.0 a été publiée !
jakarta.servlet.* #75.
L'équipe est heureuse d'annoncer que la version 1.2.3 a été publiée !
L'équipe est heureuse d'annoncer que la version 1.2.2 a été publiée !
L'équipe est heureuse d'annoncer que la version 1.2.1 a été publiée !
OWASP Java Encoder a été déplacé sur GitHub. La version 1.2 a également été publiée !
Veuillez visiter https://www.owasp.org/index.php/OWASP_Java_Encoder_Project#tab=Use_the_Java_Encoder_Project pour consulter la documentation détaillée et des exemples pour chaque utilisation de l'API !
Nous sommes heureux d'annoncer que la version 1.1.1 a été publiée. Outre une correction de bug importante, nous avons ajouté l'intégration ESAPI pour remplacer les encodeurs ESAPI existants par l'OWASP Java Encoder.
Nous sommes heureux d'annoncer que la version 1.1 a été publiée. Outre quelques améliorations mineures d'encodage, nous avons amélioré les performances et ajouté une bibliothèque de balises JSP et de fonctions.