
The OWASP Java Encoder è una classe encoder ad alte prestazioni, semplice da usare e integrabile direttamente, compatibile con Java 1.5+, senza dipendenze e con un ingombro minimo. Questo progetto aiuterà gli sviluppatori web Java a difendersi dal Cross Site Scripting!
La codifica di output contestuale è una tecnica di programmazione necessaria per fermare il Cross-Site Scripting. Questo progetto è una classe encoder Java 1.8+ semplice da usare, integrabile direttamente e ad alte prestazioni, con pochi fronzoli.
Per una documentazione più dettagliata su OWASP Java Encoder, visita https://owasp.org/www-project-java-encoder/.
Puoi scaricare un JAR da Maven Central.
I tag JSP e le funzioni EL sono disponibili in encoder-jsp; sono disponibili anche:
I JAR sono disponibili anche su 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 libreria OWASP Java Encoder è pensata per una codifica contestuale rapida con pochissimo overhead, sia in termini di prestazioni che di utilizzo. Per iniziare, basta aggiungere il file encoder-1.2.3.jar, importare org.owasp.encoder.Encode e iniziare a usarlo.
Esempio di utilizzo:
PrintWriter out = ....;
out.println("<textarea>"+Encode.forHtml(userData)+"</textarea>");
Consulta la javadoc di Encode per vedere la varietà di contesti per cui puoi codificare.
Buona codifica!
A causa dei casi di test per il progetto encoder-jakarta-jsp, è richiesto Java 17 per impacchettare e testare il progetto. Basta eseguire:
mvn package
Per eseguire il test di integrazione Jakarta JSP e verificare che i tag JSP e le funzioni EL funzionino correttamente, esegui:
mvn verify -PtestJakarta
| JAR | Nome modulo |
|---|---|
| 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"%> |
Il progetto OWASP Java Encoder è un progetto Maven multi-modulo:
$ mvn package
I benchmark (attualmente da migliorare) possono essere eseguiti con:
$ mvn verify -Pbenchmarks
Le release vengono effettuate tramite central-publishing-maven-plugin:
$ mvn mvn clean package deploy -DperformRelease=true
Il team è lieto di annunciare che la versione 1.4.0 è stata rilasciata!
Il team è lieto di annunciare che la versione 1.3.1 è stata rilasciata!
Il team è lieto di annunciare che la versione 1.3.0 è stata rilasciata!
jakarta.servlet.* #75.
Il team è lieto di annunciare che la versione 1.2.3 è stata rilasciata!
Il team è lieto di annunciare che la versione 1.2.2 è stata rilasciata!
Il team è lieto di annunciare che la versione 1.2.1 è stata rilasciata!
OWASP Java Encoder è stato spostato su GitHub. È stata rilasciata anche la versione 1.2!
Visita https://www.owasp.org/index.php/OWASP_Java_Encoder_Project#tab=Use_the_Java_Encoder_Project per vedere documentazione dettagliata ed esempi su ogni utilizzo delle API!
Siamo lieti di annunciare che la versione 1.1.1 è stata rilasciata. Oltre a un'importante correzione di bug, abbiamo aggiunto l'integrazione con ESAPI per sostituire i vecchi encoder ESAPI con l'OWASP Java Encoder.
Siamo lieti di annunciare che la versione 1.1 è stata rilasciata. Oltre ad alcuni miglioramenti minori della codifica, abbiamo migliorato le prestazioni e aggiunto una libreria di tag e funzioni JSP.