
The OWASP Java Encoder is a Java 1.5+ simple-to-use drop-in high-performance encoder class with no dependencies and little baggage. This project will help Java web developers defend against Cross Site Scripting!
Contextual Output Encoding ist eine Programmiertechnik, die notwendig ist, um Cross‑Site Scripting zu stoppen. Dieses Projekt ist eine einfach zu verwendende, einsatzbereite, leistungsstarke Java‑1.8+‑Encoder‑Klasse mit geringem Zusatzaufwand.
Für detailliertere Dokumentation über das OWASP Java Encoder Projekt besuchen Sie bitte https://owasp.org/www-project-java-encoder/.
Sie können ein JAR von Maven Central herunterladen.
JSP‑Tags und EL‑Funktionen sind im encoder‑jsp verfügbar, ebenfalls verfügbar sind:
Die JARs sind auch in Central verfügbar:
<dependency>
<groupId>org.owasp.encoder</groupId>
<artifactId>encoder</artifactId>
<version>1.4.0</version>
</dependency>
<!-- Bei Verwendung von Servlet Spec 5 im Paket jakarta.servlet: -->
<dependency>
<groupId>org.owasp.encoder</groupId>
<artifactId>encoder-jakarta-jsp</artifactId>
<version>1.4.0</version>
</dependency>
<!-- Bei Verwendung der Legacy Servlet Spec im Paket javax.servlet: -->
<dependency>
<groupId>org.owasp.encoder</groupId>
<artifactId>encoder-jsp</artifactId>
<version>1.4.0</version>
</dependency>
Die OWASP Java Encoder‑Bibliothek ist für schnelles kontextbezogenes Kodieren mit sehr geringem Overhead konzipiert – sowohl in der Leistung als auch in der Nutzung. Fügen Sie einfach die encoder‑1.2.3.jar hinzu, importieren Sie org.owasp.encoder.Encode und beginnen Sie mit der Nutzung.
Beispiel:
PrintWriter out = ....;
out.println("<textarea>"+Encode.forHtml(userData)+"</textarea>");
Werfen Sie einen Blick in das Javadoc von Encode, um die verschiedenen Kontexte zu sehen, für die Sie kodieren können.
Viel Spaß beim Kodieren!
Aufgrund von Testfällen für das encoder-jakarta-jsp‑Projekt ist Java 17 erforderlich, um das Projekt zu paketieren und zu testen. Führen Sie einfach aus:
mvn package
Um den Jakarta‑JSP‑Integrationstest auszuführen und zu überprüfen, dass die JSP‑Tags und EL‑Funktionen korrekt funktionieren, führen Sie aus:
mvn verify -PtestJakarta
| JAR | Modulname |
|---|---|
| encoder | owasp.encoder |
| encoder-jakarta-jsp | owasp.encoder.jakarta |
| encoder-jsp | owasp.encoder.jsp |
| encoder-espai | owasp.encoder.esapi |
| Bibliothek | 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"%> |
Das OWASP Java Encoder Projekt ist ein Multi‑Modul‑Maven‑Projekt:
$ mvn package
Benchmarks (die derzeit verbessert werden müssen) können ausgeführt werden mit:
$ mvn verify -Pbenchmarks
Veröffentlichungen erfolgen über das central-publishing-maven-plugin:
$ mvn mvn clean package deploy -DperformRelease=true
Das Team freut sich, die Veröffentlichung von Version 1.4.0 bekannt zu geben!
Das Team freut sich, die Veröffentlichung von Version 1.3.1 bekannt zu geben!
Das Team freut sich, die Veröffentlichung von Version 1.3.0 bekannt zu geben!
jakarta.servlet.* hinzugefügt #75.
Das Team freut sich, die Veröffentlichung von Version 1.2.3 bekannt zu geben!
Das Team freut sich, die Veröffentlichung von Version 1.2.2 bekannt zu geben!
Das Team freut sich, die Veröffentlichung von Version 1.2.1 bekannt zu geben!
OWASP Java Encoder wurde auf GitHub verschoben. Version 1.2 wurde ebenfalls veröffentlicht!
Bitte besuchen Sie https://www.owasp.org/index.php/OWASP_Java_Encoder_Project#tab=Use_the_Java_Encoder_Project, um detaillierte Dokumentation und Beispiele zu jeder API‑Nutzung zu sehen!
Wir freuen uns, die Veröffentlichung von Version 1.1.1 bekannt zu geben. Neben einem wichtigen Bugfix haben wir eine ESAPI‑Integration hinzugefügt, um die alten ESAPI‑Encoder durch den OWASP Java Encoder zu ersetzen.
Wir freuen uns, die Veröffentlichung von Version 1.1 bekannt zu geben. Neben einigen kleinen Kodierungsverbesserungen haben wir die Leistung verbessert und eine JSP‑Tag‑ und Funktionsbibliothek hinzugefügt.