
El OWASP Java Encoder es una clase codificadora de alto rendimiento, fácil de usar y de integración directa, compatible con Java 1.5+, sin dependencias y con poco peso. ¡Este proyecto ayudará a los desarrolladores web de Java a defenderse contra Cross Site Scripting!
La codificación de salida contextual es una técnica de programación necesaria para detener el Cross-Site Scripting. Este proyecto es una clase de codificador de alto rendimiento para Java 1.8+, simple de usar, de integración directa y con poco lastre.
Para obtener documentación más detallada sobre OWASP Java Encoder, visita https://owasp.org/www-project-java-encoder/.
Puedes descargar un JAR desde Maven Central.
Las etiquetas JSP y las funciones EL están disponibles en encoder-jsp; también están disponibles:
Los JAR también están disponibles en 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 biblioteca OWASP Java Encoder está diseñada para una codificación contextual rápida con muy poca sobrecarga, tanto en rendimiento como en uso. Para comenzar, simplemente añade el archivo encoder-1.2.3.jar, importa org.owasp.encoder.Encode y empieza a usarla.
Ejemplo de uso:
PrintWriter out = ....;
out.println("<textarea>"+Encode.forHtml(userData)+"</textarea>");
Consulta el javadoc de Encode para ver la variedad de contextos para los que puedes codificar.
¡Feliz codificación!
Debido a los casos de prueba del proyecto encoder-jakarta-jsp, se requiere Java 17 para empaquetar y probar el proyecto. Simplemente ejecuta:
mvn package
Para ejecutar la prueba de integración de Jakarta JSP, con el fin de validar que las etiquetas JSP y las funciones EL funcionan correctamente, ejecuta:
mvn verify -PtestJakarta
| JAR | Nombre del módulo |
|---|---|
| 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"%> |
El proyecto OWASP Java Encoder es un proyecto Maven de varios módulos:
$ mvn package
Los benchmarks (que actualmente necesitan mejoras) se pueden ejecutar con:
$ mvn verify -Pbenchmarks
Los lanzamientos se realizan mediante central-publishing-maven-plugin:
$ mvn mvn clean package deploy -DperformRelease=true
¡El equipo se complace en anunciar que se ha publicado la versión 1.4.0!
¡El equipo se complace en anunciar que se ha publicado la versión 1.3.1!
¡El equipo se complace en anunciar que se ha publicado la versión 1.3.0!
jakarta.servlet.* #75.
¡El equipo se complace en anunciar que se ha publicado la versión 1.2.3!
¡El equipo se complace en anunciar que se ha publicado la versión 1.2.2!
¡El equipo se complace en anunciar que se ha publicado la versión 1.2.1!
OWASP Java Encoder se ha trasladado a GitHub. ¡También se ha publicado la versión 1.2!
Visita https://www.owasp.org/index.php/OWASP_Java_Encoder_Project#tab=Use_the_Java_Encoder_Project para ver documentación detallada y ejemplos sobre cada uso de la API.
Nos complace anunciar que se ha publicado la versión 1.1.1. Junto con una importante corrección de errores, añadimos la integración con ESAPI para reemplazar los codificadores ESAPI heredados por OWASP Java Encoder.
Nos complace anunciar que se ha publicado la versión 1.1. Junto con algunas mejoras menores de codificación, mejoramos el rendimiento y añadimos una biblioteca de etiquetas y funciones JSP.